downvoting前/標記爲重複,請注意:的Python POST請求不採取表單數據,沒有文件
我已經嘗試了this,this,this,this,this,this - 基本上幾乎所有我能找到的方法指出Requests documentation,但似乎沒有找到任何解決方案。
問題:
我想和一組頭和表單數據的POST請求。 有沒有被上傳文件。按照在郵遞員請求體中,我們通過下爲請求的「主體」部分中選擇「表單數據」設置的參數。 這裏是我的代碼:
headers = {'authorization': token_string,
'content-type':'multipart/form-data; boundary=----WebKitFormBoundaryxxxxxXXXXX12345'} # I get 'unsupported application/x-www-form-url-encoded' error if I remove this line
body = {
'foo1':'bar1',
'foo2':'bar2',
#... and other form data, NO FILE UPLOADED
}
#I have also tried the below approach
payload = dict()
payload['foo1']='bar1'
payload['foo2']='bar2'
page = ''
page = requests.post(url, proxies=proxies, headers=headers,
json=body, files=json.dump(body)) # also tried data=body,data=payload,files={} when giving data values
錯誤
{"errorCode":404,"message":"Required String parameter 'foo1' is not
present"}
編輯: 添加網絡控制檯的痕跡。我在請求負載中提到的負載中以相同的方式定義它。
什麼,當你不通過'內容type'頭髮生在所有?只需在頭文件中傳遞'authorization'。刪除請求中的'files = json.dump(body)',並用'data = body'替換'json = body' –
您可以共享Chrome網絡標籤中的所有請求信息嗎? –
@PratikMandrekar如果我刪除'content-type',我會得到'不支持的應用程序/ x-www-form-url-encoded'錯誤。'data = body'是我嘗試的第一件事,沒有工作:( – user2281204