Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38

Как войти на сайт методом POST?

30.11.2014, 13:18. Показов 4720. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Могли бы показать на примере - https://eu.battle.net/login/ru... am&cr=true
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2014, 13:18
Ответы с готовыми решениями:

Отправка изображения на сайт методом post
Помогите отправить картинку по такому шаблону http://antigate.com/panel.php?action=helpmultipart Если не открывает тоPOST...

Как используя запрос post войти в аккаунт?
Прошу помощи/подсказки. В качестве тренировки хотел войти в свой аккаунт и считать какие-то данные.. Но не знаю как это сделать. Делаю вот...

Как войти на сайт?
Отправляю содержимое форм логин пароль=> получаю Cookie=> создаю новое подключение устанавливая в его настройки полученные Cookie=> ...

16
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 14:21
Лучший ответ Сообщение было отмечено Rapt как решение

Решение

http://docs.python-requests.or... -a-request

Добавлено через 8 минут
Примерно вот так это все выглядит. Тебе только перед оправкой запроса надо будет распарсить страницу на предмет нахождения csrftoken, потому что он будет меняться постоянно.
Python
1
2
3
4
5
import requests
 
data_auth = {'accountName': 'example@ya.ru', 'password': 'you password',
             'persistLogin': 'on', 'csrftoken': '4188274d-728b-4067-a2d2-19dba87355dd'}
req_auth = requests.post('https://eu.battle.net/login/ru/', data=data_auth)
1
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 15:18  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
http://docs.python-requests.org/en/l...make-a-request
Как из r.text с помощью lxml выстроить нормальное дерево?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 15:30
Лучший ответ Сообщение было отмечено Rapt как решение

Решение

Python
1
doc = lxml.html.document_fromstring(req_auth.text)
1
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 15:41  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
doc = lxml.html.document_fromstring(req_auth.t ext)
Как проверить есть ли там определенная строка? например('<div id = "error">') ?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 15:47
Rapt, Погулить слабо? Подобный пример есть в сети
1
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 15:51  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
Погулить слабо?
Из-за того что не нагуглил я здесь)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 16:18
http://devacademy.ru/posts/lxm... -v-python/
1
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 17:43  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
Код Python
1
2
3
4
5
import requests
data_auth = {'accountName': 'example@ya.ru', 'password': 'you password',
'persistLogin': 'on', 'csrftoken': '4188274d-728b-4067-a2d2-19dba87355dd'}
req_auth = requests.post('https://eu.battle.net/login/ru/', data=data_auth)
Как после этого работать с редиректом(req_auth редиректит на главную страницу, где потом надо отправлять еще один пост запрос)? В смысле req_auth-су еще раз задать пост запрос?(У меня выдает ошибку)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 17:48
Rapt, После 1 запроса ты авторизовался, потом пиши ещё запрос (он естественно будет уже другой и он не имеет уже ни какого отношения к первому), который получает нужные данные.
0
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 18:02  [ТС]
Цитата Сообщение от Rapt Посмотреть сообщение
tsar925
2 запрос переходит уже без входа
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 18:22
Цитата Сообщение от Rapt Посмотреть сообщение
2 запрос переходит уже без входа
2 запрос пиши к тому адресу, который тебе нужен и все
0
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 18:34  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
2 запрос пиши к тому адресу, который тебе нужен и все
Да так и делал:
Python
1
2
3
4
5
6
r1 = requests.post('http/станица входа', params = {'login' : 'Rapt', 'pass' : '12345'})
print(r1.url)
>>> http/главная страница
r2 = requests.post('http/главная страница' params = {'searsh': 'Ролики'})
print(r2.url)
>>> http/страница входа
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 18:39
и ?
0
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 38
30.11.2014, 18:43  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
и ?
При втором запросе я не аутенфицирован
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.11.2014, 18:51
Попробуй куки посылать вместе со следующим запросом. http://docs.python-requests.or... t/#cookies
0
 Аватар для sanodins
52 / 51 / 15
Регистрация: 27.06.2013
Сообщений: 192
Записей в блоге: 1
30.11.2014, 20:45
Лучший ответ Сообщение было отмечено Rapt как решение

Решение

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
import requests
import lxml.html
 
from lxml import html
 
 
login = ' '#raw_input(u'Введите логин: ')
password = ' ' #raw_input(u'Введите пароль: ')
 
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.0; rv:14.0) Gecko/20100101 Firefox/14.0.1',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language':'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    'Accept-Encoding':'gzip, deflate',
    'Connection':'keep-alive',
    'DNT':'1'
}
s = requests.session()
doc = lxml.html.fromstring(s.get('http://m.vk.com/').content)
form = doc.forms[0]
form.fields['email'] = login
form.fields['pass'] = password
r = s.post(form.action, data=form.form_values())
 
 
urlv = 'http://vk.com/video.php'
 
doc2 = s.post(urlv)
tree = html.fromstring(doc2.text)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2014, 20:45
Помогаю со студенческими работами здесь

Как войти на сайт по логину с паролем?
Я бы хотел сделать программу на Python, которая просит ввести логин и пароль от VK или Cyberforum или еще какой ни будь ерунды, Вводим туда...

Как программно войти на любой сайт
Доброго времени суток, дорогие друзья, и так: Как программно войти на любой сайт указанный в Textbox1 под своим логином и...

Как войти на сайт через cookie?
Здравствуйте! Как сделать кросс-доменный запрос с использование куки в headers $.ajax({ xhrFields: { ...

Ошибка не может войти на сайт php Авторизация на сайт
Ввожу верный логин и пароль то он пишет 'Извините вы должны ввести правильный логин или пароль !!! если ввожу не верный логин или пароль...

Залогиниться на сайт (Авторизация методом "post")
Здравствуйте. Такая проблема: Я пишу программу на С++. В ней мне надо добраться до определённой страницы сайта (при нажатии на кнопку в...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru