1
wkx556874 OP 搞不懂呀。。。
|
2
ch2 2021-03-28 15:55:51 +08:00 via iPhone
requests 也不是什么形式的请求都能很简单就发出去的。http 本质上是个字符串构造协议,你自己拼接一个 body,然后 requests.post(url,data=body)就行了,然后搞个 fiddler web debugger 看看报文构造的对不对
|
3
676529483 2021-03-28 16:16:37 +08:00
>>> url = 'https://httpbin.org/post'
>>> files = {'file': ("1.png", open('1.png', 'rb')), "photo": "1.png"} >>> r = requests.post(url, files=files) 关键是 data 和 files 不要一起传,会默认 content-type 为 www-url-encode |
4
SenLief 2021-03-28 17:14:55 +08:00
官网有 https://www.osgeo.cn/requests/user/quickstart.html#more-complicated-post-requests
小文件可以用楼上 3 楼的 files 参数, 大文件需要一个一个包 requests-toolbelt |
5
renmu123 2021-03-28 17:52:38 +08:00 via Android
直接 post 文件,或者用 file 参数,但是你可能要手动修改 contetn-type 参数
|
6
cra2y4ngel 2021-03-29 09:39:40 +08:00
requests 在提 multi-part/form-data 上面是有些许缺陷的, 可以通过这样的方式传 data 看看
data = {"photo": "1.png"} files = { "file": ("1.png", open("1.png", "rb"), "image/png"), "data":(None, json.dumps(data)) } requests.post(url=url, file=files) |
7
daxin945 2021-03-29 10:06:27 +08:00
你可以用 postman 尝试发起请求,操作成功后能直接导出代码
|
8
k1z 2021-03-29 11:11:34 +08:00
|
9
Latin 2021-03-29 11:28:00 +08:00
|
10
no1xsyzy 2021-03-29 15:39:44 +08:00
|