Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/111: Рейтинг темы: голосов - 111, средняя оценка - 4.75
djdeniro
3 / 3 / 1
Регистрация: 01.03.2013
Сообщений: 68
1

Как отправить POST-запрос?

19.07.2013, 17:15. Просмотров 20271. Ответов 4
Метки нет (Все метки)

Парсинг + Отправка POST формы и получение результата
Вот собственно вопрос, есть сайт Wmmail, нужно отправить на него post запрос
Вариант для GET:
Python
1
2
3
4
5
6
7
8
9
# -*- coding: cp1251 -*-
import urllib
import lxml.html
log=raw_input('Логин')
pass=raw_input('Пароль')
page = urllib.urlopen("http://wmmail.ru/?login="+log+'&password=' +pass)
doc = lxml.html.document_fromstring(page.read())
for bal in doc.cssselect('a.bal'):
    print bal.text
А как в POST?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 17:15
Ответы с готовыми решениями:

Отправить POST запрос через urllib
Собственно нужно отправить POST запрос через urllib. Проблема в кодировке. x =...

Как отправить SOAP запрос
Как отправить с помощью питона SOAP запрос? (ниже показано, что конкретно надо...

Как сохранить cookies из ответа на POST-запрос?
### httpPost def httpPost(url, _params): bot = atape_http_client() print...

Разбор ответа на POST запрос
Добрый вечер! Подскажите пожалуйста, сравниваю ответы на запрос полученные...

POST запрос на Api сервера
Привет. Хочу реализовать на пайтоне отправку запроса на апи сервера. Какой...

4
dhxdzjbr
96 / 81 / 5
Регистрация: 06.05.2013
Сообщений: 242
19.07.2013, 17:43 2
Читай вот это http://ivinside.blogspot.ru/2009/07/urllib2.html
1
djdeniro
3 / 3 / 1
Регистрация: 01.03.2013
Сообщений: 68
19.07.2013, 20:09  [ТС] 3
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Спасибо! Ура я сделал парсер! Благодаря вам!

Добавлено через 1 час 8 минут
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Еще есть проблема, как сохронять куки?
0
dhxdzjbr
96 / 81 / 5
Регистрация: 06.05.2013
Сообщений: 242
19.07.2013, 20:14 4
Python
1
2
3
4
5
6
7
8
9
10
11
12
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
data_to_request = {<словарь с данными для запроса>}
headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; ru; \
                    rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) \
                    Firefox/3.6.6",
                   "Accept": "text/html,application/xhtml+xml,application\
                   /xml;q=0.9,*/*;q=0.8"}
params_auth = urllib.urlencode(data_to_request)
request_auth = urllib2.Request(<ссылка на страницу>, params_auth, headers)
page_auth = urllib2.urlopen(request_auth).read()
Вот так, думаю разберёшься
1
djdeniro
3 / 3 / 1
Регистрация: 01.03.2013
Сообщений: 68
19.07.2013, 20:39  [ТС] 5
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
10
11
12
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
data_to_request = {<словарь с данными для запроса>}
headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; ru; \
                    rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) \
                    Firefox/3.6.6",
                   "Accept": "text/html,application/xhtml+xml,application\
                   /xml;q=0.9,*/*;q=0.8"}
params_auth = urllib.urlencode(data_to_request)
request_auth = urllib2.Request(<ссылка на страницу>, params_auth, headers)
page_auth = urllib2.urlopen(request_auth).read()
Вот так, думаю разберёшься
Спс)
Но, хотелось бы поточнее
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: cp1251 -*-
import urllib
import urllib2
import lxml
import lxml.html
from lxml import *
f = open('a.html','w')
log = raw_input('Логин: ');
pas = raw_input('Пароль: ');
headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'}
values = {'ulogin' : log, 'pass' : pas,'x': '14','y':'4','cf':'akk-login','pass1':'y06noVfhtU'}
data = urllib.urlencode(values)
req = urllib2.Request('http://wmmail.ru', data, headers)
response = urllib2.urlopen(req)
site1 = response.read()
site_u = lxml.html.document_fromstring(site1)
balance = site_u.xpath('//span[@id="ubalance"]/text()')
f.write('TOTAL MONEY')
f.write(str(balance[0]))
f.write('$')
f.write(site1);
print 'Баланс аккаунта: '+balance[0]
values = {'cf':'game4-viewgame'}
data = urllib.urlencode(values)
req = urllib2.Request('http://wmmail.ru', data, headers) 
response = urllib2.urlopen(req)
site2 = response.read() #Вот тут мы получаем страницу ( А там Введите Логин и пасс, п если через Бравзер, то норм) #как и Куда прикажете тыкать))
f.write('|||'*12)
f.write(site2)
Добавлено через 8 минут
Цитата Сообщение от djdeniro Посмотреть сообщение
Спс)
Но, хотелось бы поточнее
Python
1
2
3
4
5
6
7
8
9
# -*- coding: cp1251 -*-
import urllib
import urllib2
import lxml
import lxml.html
from lxml import *
 
f.write('|||'*12)
f.write(site2)
Разобрался, но
Python
1
2
cookie = cookielib.CookieJar()
NameError: name 'cookielib' is not defined
Добавлено через 2 минуты
Цитата Сообщение от dhxdzjbr Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
10
11
12
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
data_to_request = {<словарь с данными для запроса>}
headers = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; ru; \
                    rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) \
                    Firefox/3.6.6",
                   "Accept": "text/html,application/xhtml+xml,application\
                   /xml;q=0.9,*/*;q=0.8"}
params_auth = urllib.urlencode(data_to_request)
request_auth = urllib2.Request(<ссылка на страницу>, params_auth, headers)
page_auth = urllib2.urlopen(request_auth).read()
Вот так, думаю разберёшься
Все разобрался до конца! Спасибо вам)))))
0
19.07.2013, 20:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2013, 20:39

POST-запрос. Загрузка изображения на сервер
Решил я немного заняться проектиками по VK OPEN API. Для таких вещей нужно...

Grab post запрос, пробелы в тексте
Добрый день уважаемые форумчане. Накопились вопросы) а именно 2 (в остальных...

Как отправить письмо нескольким получателям?
До этого никогда не сталкивался с подобными скриптами, кто может подсказать как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru