python - 通过 POST 请求发送序列化数据
问题描述
首先,我不太习惯 HTTP 请求,所以如果我犯了一些愚蠢的错误或完全错误的假设,请多多包涵。
我正在尝试使用 Flask 使用 POST 请求发送图像,我正在使用的代码可以在此链接上找到: https ://gist.github.com/kylehounslow/767fb72fde2ebdd010a0bf4242371594
基本上它使用 cv2 对图像进行编码,而不是在 POST 请求中发送它,我可以让它工作,但我想发送更多信息,因此我将请求重写为:
payload = {'img':img_encoded.tostring(), 'name':'foo'}
response = requests.post(test_url, data=json.dumps(payload), headers=headers)
这给了我一个错误,更具体地说:
TypeError: Object of type 'bytes' is not JSON serializable
这是由于我正在对图像进行编码,所以我尝试只发送字典,而不将其转储到 JSON,请求通过,但现在我不知道如何解码请求中的数据字段。如果我尝试访问 request.data 我得到这个:
b'img=very_long_first_field_of_binary_info&name=foo'
我如何将其还原为字典?由于我不能使用json,所以我不知道该怎么办。在此先感谢您的帮助,
马蒂亚
解决方案
推荐阅读
- jmeter - JMeter Once Only Controller 最后
- excel - 引用工作簿名称
- codeigniter - codeigniter net::ERR_CONNECTION_REFUSED
- alfresco - alfresco 5.2 solr4 故障排除
- apache-spark - KafkaConsumer 对于多线程访问 pyspark 是不安全的
- data-structures - 如何使用不稳定的 std::collections::BitVec?
- python - 连接 2 个熊猫数据帧不起作用
- javascript - jQuery 事件正常工作,正常 JS 事件不工作
- android - Auth0/Android 自定义范围
- python - 如何将动画 GIF 集成到 QMessageBox 中?