2016-10-20 3 views
1

Der Versuch, eine Datei mit Anfragen Modul zu laden, sondern begegnet Internal Server Es ist das gleiche mit Plakat-Modul Fehler zu:Python: Stellen Sie eine Multipart-Verschlüsselte Datei

import requests 
url = "abc.com/upload" 
querystring = {"ft":"1","fn":"filename"} 
payload = "" 
files={'file': open(r'Users/.../test.zip', 'rb')} 
headers_info = { 
    'content-type': "multipart/form-data; boundary=---12345", 
    'x-api-service-version': "1.0", 
    'connection': "Keep-Alive", 
    'authorization': "Basic XXXXXXX", 
    'x-file-format': "decrypted", 
    'cache-control': "no-cache", 
    } 

response = requests.post(url, data = payload , headers=headers_info , params=querystring , files=files) 

print response.status_code 
print response.text 

ich die api mit POSTMAN (Chrome-Erweiterung test Test Rest API) und es scheint gut zu funktionieren mit Postman ich bekomme eine Erfolgsantwort und die Datei wird hochgeladen.

Der Postbote Code für Python zeigt:

import requests 
url = "abc.com/upload" 
querystring = {"ft":"1","fn":"filename"} 
payload = "" 
headers = { 
    'content-type': "multipart/form-data; boundary=---12345", 
    'accept-encoding': "gzip, deflate", 
    'x-api-service-version': "1.0", 
    'connection': "Keep-Alive", 
    'authorization': "Basic XXXXXXX", 
    'x-file-format': "decrypted", 
    'cache-control': "no-cache", 
    'postman-token': "XXXXXXX" 
    } 

response = requests.request("POST", url, data=payload, headers=headers, params=querystring) 

print(response.text) 

Irgendwelche Vorschläge für das gleiche? Fehle ich etwas Offensichtliches? Danke für alle Hinweise, die du teilen kannst!

+0

http://stackoverflow.com/questions/39738525/python-requests-how-to-add-content- hinzufügen Typ-zu-Multipart-Formular-Daten-Anfrage/39742334 # 39742334 –

Antwort

0

Sie müssen 'content-type': "multipart/form-data; boundary=---12345", sowie data nicht angeben. Versuchen Sie Anfrage zu senden, ohne headers

response = requests.post(url, params=querystring , files=files) 

Wenn Sie Sie nicht versuchen könnte 'authorization': "Basic XXXXXXX", 'postman-token': "XXXXXXX" Header

+0

Danke, es hat funktioniert .. – ksviswa

Verwandte Themen