2010-07-01 13 views
1

J'ai créé une API de repos en utilisant django et piston et j'ai besoin de créer un script qui télécharge un fichier sur cette API.Télécharger un fichier avec reste

Je suis actuellement en utilisant ce code:

import urllib 
import urllib2 

user = 'patrick' 
password = 'my_password' 
url = 'http://localhost:8000/api/odl/' 

password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() 
password_manager.add_password(
    None, url, user, password 
) 

auth_handler = urllib2.HTTPBasicAuthHandler(password_manager) 

opener = urllib2.build_opener(auth_handler) 
urllib2.install_opener(opener) 

f = open('test.pdf') 

params = { 
    'name': 'ODL Name', 
} 

postData = urllib.urlencode(params) 
fh = urllib2.urlopen(url, postData) 

Quand je lance ce code je peux voir que params sont envoyés au api, mais je ne sais pas comment envoyer le fichier (f) l'api :(

Pouvez-vous me aider?

Merci

Répondre

1

vous devez inclure le contenu du fichier comme une partie de la da POST ta et modifie les en-têtes de la demande, pour indiquer au serveur qu'il y a un fichier dans la publication.

+0

merci :) J'ai utilisé ce "patch" http://fabien.seisen.org/python/urllib2_file/;) – patrick

Questions connexes