2017-10-18 3 views
0

je réussi à vérifier que mon image a été envoyée au serveur via boucle Cependant, je voudrais importer le module demande de langage Python Mon code ressemble à ceci Merci pour votre aiderComment changer la commande curl au format demande python

Curl

curl -X POST --header 'x-user-token: [Token]' --header 'x-user-email: [Email]' -H 'Cache-Control: no-cache' -H 'Content-Type: multipart/form-data' -F 'note[message]=hello' -F 'note[image][email protected]' http://[URL] 

Python

URL = "[URL]" 
EMAIL = "[Email]" 
TOKEN = "[Token]" 
headers = {'Cache-Control': 'no-cache', 
'Content-Type': 'application/json; multipart/form-data', 
'x-user-token': TOKEN, 
'x-user-email': EMAIL} 

data = { 
'message': "Hello" 
} 
res = requests.post(URL, files={'image': open("[file_name].jpg", "rb")}, headers=headers) 

Répondre

0

Essayez-

import requests 

headers = { 
'Cache-Control': 'no-cache', 
'Content-Type': 'multipart/form-data', 
'x-user-token': '[Token]', 
'x-user-email': '[Email]', 
} 

files = [ 
('note[message]', 'hello'), 
('note[image]', open('HelloWolrd.jpg', 'rb')), 
] 

requests.post('http://[url]/', headers=headers, files=files) 
+0

J'ai essayé, mais le résultat est 400 erreur . – Gromit

+0

J'ai trouvé un meilleur moyen. Je vais essayer de résoudre ce problème avec l'aide de https://curl.trillworks.com/ Merci pour votre aide. – Gromit

+0

J'ai résolu ce problème. Revenez à ma question pour résoudre ce problème Merci pour votre aide. – Gromit

0

P.S

Je ne résous avec la réponse ci-dessous, mais finalement je l'ai fait. Si vous avez besoin de mon aide, s'il vous plaît se référer au code ci-dessous Il est préférable de supprimer les entêtes inutiles Vérifiez l'en-tête de votre code

Resloved Python code

#! /usr/bin/env python 

import requests 
import logging 
import base64 

logging.basicConfig(level=logging.NOTSET) 

headers = { 
'x-user-token': '[Token]', 
'x-user-email': '[Email]', 
} 

files = { 
'note[image]': (open("[file_name].jpg", "rb"), 'image/jpeg') 
} 

data = { 
'note[message]': 'Hello World !' 
} 

res = requests.post('http://[URL]', headers=headers, files=files, data=data) 

print(res.request.headers) 
print(res.headers) 

f = open('temp.log', 'w') 
f.write(res.text) 
f.close() 

if res.status_code != 200: 
    print(res.status_code)