2017-06-28 2 views
0

je prévois des problèmes avec la migration des demandes à pycurl, mon code ressemble à ceci:Python: Migration vers pycurl des demandes upload de fichiers

c = pycurl.Curl() 
c.setopt(c.POST, 1) 
c.setopt(c.URL, self.UploadURL) 
c.setopt(c.HTTPPOST, [("files[]", (c.FORM_FILE, local_path))]) 
c.perform() 
c.close() 

Mais il me donne toujours bizarre erreur "404 - Not Found", self.UploadURL ressemble à ceci :

http://s1.example.com/Upload?e=hB3DRDMTrp1qXfLYcGlb7IEDgQFgg7j5_WxnaYzJckfmCXT_ggm4f4T6Byk1WJWpkpiXzp2R8N1bG3J0qixKbJ7Nc1k5hR5dUTGsHjxzLgG0QL8Pl5a95ygehKcAzz5jpirHKWDJQ1c_uJW9UbuXMw&pv=2 

Comme vous pouvez le voir, il a des caractères non standard comme ?, =, _, & et est assez longue: P. Additionnellement: Je ne sais même pas ce que mon script envoie au serveur car le programme Fiddler4 ne saisit pas cette demande o_O

Additionnellement, c'est le code de travail, mais ses utilisations demandes (et je veux pycurl):

files = MultipartEncoder[("files[]", (filename, filedata, 'application/octet-stream'))] 
UploadFile = requests.post(self.UploadURL, data=files, headers={'Content-Type': files.content_type}, stream=True) 

Répondre

0

Utilisation du codage base64 pour le paramètre de requête.