【发布时间】:2021-01-08 18:37:23
【问题描述】:
对 python 很陌生,做了一些练习,现在正在尝试使用 API 和 webhoks。
我的目标:我有一个网络管理系统,每 120 秒可以根据附近客户端的 WiFi 可见性向我发送位置数据
我编写了这个简单的代码并获取传入数据 - 数据被压缩,所以我以二进制形式查看它们
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def index():
print(request.headers)
print(request.data)
return ('This is a website. Port 443 - Https. ', 200, None)
if __name__ == '__main__':
app.run(debug=True, use_reloader=True, ssl_context='adhoc', port=443)
结果是:
主机:e7145a924eea.eu.ngrok.io 用户代理:Java/1.8.0_251 内容长度:1940 接受:text/plain、application/json、application/x-jackson-smile、application/cbor、application/*+json、/ 授权:基本11223344 内容编码:gzip 内容类型:应用程序/json X-Ah-事件类型:位置 X-Ah-消息类型:LOCATION_CLIENT_CENTRIC X-Forwarded-For:1.2.3.4 X-Forwarded-Proto:https 接受编码:gzip
b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xed\x9cYO\x1bI\x10\x80\xff\xcbz\xa7\xfb6\xbf\xbb\xb9\xf9\x17\x91>x\xad\xfbt\x00\x00'
我只是想将二进制流写入文件,但如果我尝试做类似的事情
with open("D:\\Dati\python\\200_WebApps_and_webhooks\\API.gzip",'wb') as API_data:
print(request.data, file=API_data)
我收到错误 TypeError: a bytes-like object is required, not 'str'
想法是将原始传入数据发送到可以解压缩以查看 json 格式的文件。
下一步将是即时解压缩并以这样的格式打印
......"bodyRaw":"{"messageMetaData":{"eventType":"LOCATION","messageType":"LOCATION_CLIENT_CENTRIC"},"data":{"ownerId":136502,"observations ":[{"clientMac":"aaabbbcccddd","ipv4":null,"ipv6":null,"seenTime":"2021-01-08T16:43:25.154Z","seenEpoch":1610124205154,"userName" :null,"authMethod":null,"ssid":null,"manufacturer":null,"os":null,"lat":0.0,"lng":0.0,"x":2.916691159714196,"y":1.9132701186769128 ,"clientMetaData":null,"deviceObservers":[{"apMac":"885BDD8B3E40","rssi":-74,"locationIdHierarchy":[586271625939276,586271625939269,586271625939267]}]},{"clientMac":"7825AD1136FC ","ipv4":null,"ipv6":null,"seenTime":"2021-01-08T16:43:25.163Z","seenEpoch":1610124205163,"userName":null,"authMethod":null," ssid":null,"制造商":null,"os":null,"lat":0.0,"lng":0.0,"x":13.302300953114472,"y":8.587561374795419,"clientMetaData":null,"deviceObservers" :[{"apMac":"885BDD8B3E40","rssi":-87,"locationIdHierarchy":[586271625939276,586271625939269,586271625939267]} ...省略..
提前致谢
佛朗哥
【问题讨论】:
标签: python api binary webhooks raw-data