Форум сайта python.su
Питон 3.0 Нужно зааплоадить файл на сервер как через html-форму
Пытаюсь делать через http.client так
adddata=urllib.parse.urlencode({'jkd498':1,'jkd428':1,'wtmr':1,'f':'fm',
‘a’:'','l':1,'n':1,'ssid':ssid})
f=open(img)
cookstr=“”
for cook in list_cookies:
cookstr+=cook+“; ”
conn = http.client.HTTPConnection('sextest.ucoz.ru')
headers = {“Content-type”: “multipart/form-data”,
“Accept”: “text/plain”, “Cookie”:cookstr}
conn.request(“POST”, “/tmpls/”,f, headers)
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
conn.close()
f.close()
Офлайн
Я использую pyCurl,примерно так:
request = [
('thefile0',(pycurl.FORM_FILE, img_file)),
('submit', 'Upload')
]
UA.setopt(pycurl.URL, 'http://domen.ru/inc/uploader.php')
UA.setopt(pycurl.HTTPPOST, request)
UA.setopt(pycurl.VERBOSE, 0)
Офлайн
а без pyCurl? стандартными средствами?
Офлайн
Фиг его знает :) почти не использую стандартные либы,привык к Curl-у, он есть в PHP и С,вот я и привык,о чем не жалею. Попробуйте использовать его, будет гораздо быстрее нежели копаться в стандартных либах.
Отредактировано (Окт. 2, 2009 13:31:35)
Офлайн
:(
Использовать urlopen, видимо, религия не позволяет :)
urllib.urlopen('http://domen.ru/inc/uploader.php', urllib.parse.urlencode('blahblahblah'))
Офлайн
Psixo
спасибо, попробую
Андрей Светлов
не могли бы Вы подробнее описать процесс аплоада файла через urllib.request я именно его и пытался использовать примерно так:
f=open(img)
adddata=urllib.parse.urlencode({'jkd498':1,'jkd428':1,'wtmr':1,'f':'fm',
‘a’:'','l':1,'n':1,'ssid':ssid,'file':f})
req = urllib.request.Request(host+“/tmpls/”,adddata)
try:
cookstr=“”
for cook in list_cookies:
cookstr+=cook+“; ”
req.add_header('Cookie', cookstr)
r = urllib.request.urlopen(req)
data=r.readlines()
l=str(data)
print(l)
except urllib.request.HTTPError:
print(“error2”)
f.close()
Офлайн
Офлайн