Форум сайта python.su
Добрый день.
Нужна помощь по отправки html формы. Кнопка на форме не совсем стандартная (см. код формы ниже)
<form action="" method="POST" id="theform">
…
<a href="" onclick="$('#theform').submit(); return false;">Отправить</a>
</form>
<input name="button" value="Отправить" type="submit">
import requests
url = "https://www.superjob.ru/user/login/"
params = {}
headers = {}
data = {
"LoginForm[login]": ваш логин,
"LoginForm[password]": ваш пароль
}
s = requests.Session()
r = s.post(url, params=params, headers=headers, data=data)
Офлайн
Сначала проанализируй трафик, который передаётся во время нажатия на кнопку.
Тут писал, как анализировать.
Офлайн
py.user.nextПроанализировал HTTP заголовки с использованием HttpFox, в момент нажатия кнопки на форме.
Сначала проанализируй трафик, который передаётся во время нажатия на кнопку.
Тут писал, как анализировать.
POST 301 Redirect (cached) https://www.superjob.ru/authorize/?client_id=668&redirect_uri=http%3A%2F%2Flocalhost%2F&state=custom
GET (Error) NS_ERROR_CONNECTION_REFUSED http://localhost/?code=31d5af7b74ada03aebcb877666&state=custom
import requests
url = "https://www.superjob.ru/authorize/"
params = {
"client_id": "668",
"redirect_uri": "http://localhost",
"state": "custom"
}
headers = {}
data = {}
r = requests.post(url, params=params, headers=headers, data=data)
r = requests.get(r.url)
http://localhost/?code=31d5af7b703aebcb877666&state=custom
<form action="" method="POST" id="theform">
…
<a href="" onclick="$('#theform').submit(); return false;">Отправить</a>
</form>
https://www.superjob.ru/authorize/?client_id=668&redirect_uri=http%3A%2F%2Flocalhost%2F&state=custom
http://localhost/?code=31d5af7b703aebcb877666&state=custom
Отредактировано artexcite (Июль 26, 2017 11:55:12)
Офлайн
artexciteЧто-то ты не то нашёл. localhost - это ты сам, оно не будет ходить в Интернет.
а точнее URL этой страницыhttp://localhost/?code=31d5af7b703aebcb877666&state=custom
Отредактировано py.user.next (Июль 26, 2017 13:41:56)
Офлайн
Попробую объяснить по-другому.
Многие сайты используют API и для авторизации используется протокол OAuth2.
Не буду описывать работу этого протокола полностью, т.к. меня интересует только 1 этап, а именно разрешение доступа моего приложения к данным аккаунта. Другими словами, пользователь обращается к моему приложению (чтобы начать им пользоваться), а приложение в ответ спрашивает доступ у пользователя. Если пользователь разрешит доступ, то тогда будет выдан код авторизации, необходимый для получения access token.
Так вот пользователь переходит по ссылке
https://www.superjob.ru/authorize/?client_id=668&redirect_uri=http%3A%2F%2Flocalhost%2F&state=custom
<form action="" method="POST" id="theform">
…
<a href="" onclick="$('#theform').submit(); return false;">Отправить</a>
</form>
http://мой_сайт.ru?code=31d5af7b703aebcb877666&state=custom
Офлайн
artexcite
Скажите, вы нашли решение своего вопроса?
Офлайн