Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 27, 2009 09:07:28

kontio
От:
Зарегистрирован: 2009-09-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как аплоадить файл по http

Питон 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()



Офлайн

#2 Сен. 27, 2009 17:32:51

Psixo
От:
Зарегистрирован: 2007-09-12
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Как аплоадить файл по http

Я использую 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)



Офлайн

#3 Сен. 27, 2009 21:29:12

kontio
От:
Зарегистрирован: 2009-09-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как аплоадить файл по http

а без pyCurl? стандартными средствами?



Офлайн

#4 Окт. 2, 2009 13:31:08

Psixo
От:
Зарегистрирован: 2007-09-12
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Как аплоадить файл по http

Фиг его знает :) почти не использую стандартные либы,привык к Curl-у, он есть в PHP и С,вот я и привык,о чем не жалею. Попробуйте использовать его, будет гораздо быстрее нежели копаться в стандартных либах.



Отредактировано (Окт. 2, 2009 13:31:35)

Офлайн

#5 Окт. 2, 2009 15:28:04

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как аплоадить файл по http

:(
Использовать urlopen, видимо, религия не позволяет :)

urllib.urlopen('http://domen.ru/inc/uploader.php', urllib.parse.urlencode('blahblahblah'))



Офлайн

#6 Окт. 2, 2009 23:18:25

kontio
От:
Зарегистрирован: 2009-09-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как аплоадить файл по http

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()



Офлайн

#7 Окт. 4, 2009 01:06:01

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Как аплоадить файл по http

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version