Je veux télécharger un fichier vers un périphérique distant. Si je regarde la connexion avec Wireshark je reçois ceComment modifier le type de contenu Python
POST /saveRestore.htm.cgi HTTP/1.1
Host: 10.128.115.214
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://10.128.115.214/saveRestore.htm
Cache-Control: max-age=0
Content-Type: multipart/form-data; boundary=---------------------------961265085509552220604142744
Content-Length: 10708
-----------------------------961265085509552220604142744
Content-Disposition: form-data; name="restore"; filename="config(2).cfg"
Content-Type: application/octet-stream
Maintenant, ce dit que le navigateur accepte uniquement le texte/html, application/xhtml + xml, application/xml; q = 0,9, /; q = 0,8
Si je télécharger le fichier avec mon script, il dit
--0a7125aebb8845ba8ab9aa21306b01f6
Content-Disposition: form-data; name="restore"; filename="Config.cfg"
Content-Type: text/plain; charset=utf-8
il est donc un type de fichier incorrect ..
alors comment puis-je changer le type de contenu du fichier?
Mon code semble jusqu'à présent comme suit:
#!/usr/bin/python
import httplib
import urllib2
from poster.encode import multipart_encode
import poster
from poster.streaminghttp import register_openers
register_openers()
params = {'restore': open("Config.cfg", "rb"), 'upload': 'PC ==>; Unit'}
datagen, headers = multipart_encode(params)
request = urllib2.Request('http://10.128.115.214/saveRestore.htm.cgi', datagen, headers)
u = urllib2.urlopen(request)
print u.read()
double possible de [Type de contenu incorrect lorsque le fichier transférer avec Python (affiche)] (http://stackoverflow.com/questions/12669274/wrong-content-type-when-transfering-file-with-python-poster) –
c'est totalement flou. Quel est le serveur et quel est le client, où définissez-vous le type de contenu/disposition? – njzk2
Le serveur est 10.128.115.214 le saveRestore.htm.cgi est une interface Web pour télécharger et restaurer des fichiers ... Et j'essaye de faire cela avec un script et pas sur l'interface Web ... et le 1 wireshark vient si je fais le uplaod avec l'interface web ... et le Content-Type du fichier est faux quand je fais cela avec le script – VanDeath