Python requests模块 multipart/form-data类型文件上传

请求报文

HTTP方法

POST

url

url

Cookie

JSESSIONID=87D45563C23AB48FAA67326CDAAC5D10

DATA

------WebKitFormBoundarytqaIYaLC4rpPRnpl

Content-Disposition: form-data;   name="isNew"

1

------WebKitFormBoundarytqaIYaLC4rpPRnpl

Content-Disposition: form-data;   name="programGIT.git_url"

Git地址

------WebKitFormBoundarytqaIYaLC4rpPRnpl

Content-Disposition: form-data;   name="programGIT.keyFile"; filename="id_rsa"

Content-Type: application/octet-stream

RSA私钥

------WebKitFormBoundarytqaIYaLC4rpPRnpl

Content-Disposition: form-data;   name="programGIT.is_start"

0

------WebKitFormBoundarytqaIYaLC4rpPRnpl--

 python代码

import requests
from requests_toolbelt import MultipartEncoder

data = MultipartEncoder({
'isNew': '1',
'programGIT.git_url': 'ssh://git@x.x.x.x:22/xx/xx.git',
'programGIT.keyFile': ('id_rsa', open('路径', 'rb'),'application/octet-stream'),
'programGIT.is_start': '0'
})

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36',
"Content-Type": data.content_type
           }

Cookie = {'JSESSIONID': '1F29A2356B61B4F580CA87CB2B2391D2'}
r = requests.post('url', data =data, headers=headers, cookies = Cookie, verify=False)
print(r.text)
原文地址:https://www.cnblogs.com/Vinson404/p/12160366.html