Je communique avec une API en utilisant HTTP.client dans Python 3.6.2.Comment télécharger un fichier binaire/vidéo à l'aide de la méthode Python http.client PUT?
Pour télécharger un fichier, il faut un processus en trois étapes.
J'ai réussi à parler avec succès en utilisant des méthodes POST et le serveur renvoie des données comme je l'espère. Cependant, l'étape qui nécessite le téléchargement du fichier réel est une méthode PUT - et je n'arrive pas à comprendre comment syntaxe le code pour inclure un pointeur sur le fichier réel sur mon stockage - le fichier est un fichier vidéo mp4 . Voici un extrait du code avec mes annotations noob :)
#define connection as HTTPS and define URL
uploadstep2 = http.client.HTTPSConnection("grabyo-prod.s3-accelerate.amazonaws.com")
#define headers
headers = {
'accept': "application/json",
'content-type': "application/x-www-form-urlencoded"
}
#define the structure of the request and send it.
#Here it is a PUT request to the unique URL as defined above with the correct file and headers.
uploadstep2.request("PUT", myUniqueUploadUrl, body="C:\Test.mp4", headers=headers)
#get the response from the server
uploadstep2response = uploadstep2.getresponse()
#read the data from the response and put to a usable variable
step2responsedata = uploadstep2response.read()
La réponse Je reviens à ce stade est un « Erreur 400 Bad Request - Impossible d'obtenir les informations du fichier. »
Je suis certain que cela se rapporte à la section body = "C: \ Test.mp4" du code.
Pouvez-vous s'il vous plaît indiquer comment je peux correctement référencer un fichier dans la méthode PUT?
Merci à l'avance
Rebord. Travaillé comme un charme, merci! – yekootmada