
ivan
04.09.2018
23:38:27
Я не ванга, мне надо ответ видеть
400 ошибка мало о чем говорит

X_Selent
04.09.2018
23:38:43
.
Я бы с радостью показал но почему то выдает ошибки

ivan
04.09.2018
23:39:07
Какую

Google

X_Selent
04.09.2018
23:39:33
Traceback (most recent call last):
File "<pyshell#85>", line 1, in <module>
response.text
NameError: name 'response' is not defined

ivan
04.09.2018
23:39:50
-_-
r.text
r.json()
Неужели так сложно догадаться

X_Selent
04.09.2018
23:40:30

ivan
04.09.2018
23:40:59
Я ж для примера response написал

X_Selent
04.09.2018
23:41:55
Теперь понял
текст щас покажу, а json сыпет ошибки

ivan
04.09.2018
23:42:24
Ну это нормально

X_Selent
04.09.2018
23:43:28

ivan
04.09.2018
23:43:36
Да
json отдаётся, если б это API какая-нибудь была
А так, оно по сути страницу загружает тебе
Так что text

Google

X_Selent
04.09.2018
23:45:16

ivan
04.09.2018
23:46:01
Не удалось проверить переданные данные.
Ну, это мне тоже мало о очем говорит

X_Selent
04.09.2018
23:46:52

ivan
04.09.2018
23:46:54
Там формочка с аутентификацией на сайте?
У меня просто не заходит туда
Если там форма логин\пароль
То auth=... тут не работает
Тут надо каким-нибудь selenium(модуль такой) это делать

X_Selent
04.09.2018
23:48:03

Crypt
04.09.2018
23:49:24
в тело запроса скинь как полагается логин пароль
открывай HTML и смотри как поля называются, это надо POST-запросу в body затолкать, предварительно сериализовав под url

ivan
04.09.2018
23:50:18

X_Selent
04.09.2018
23:50:37

ivan
04.09.2018
23:52:19
В requests.post передаешь параметр data
data={'Название_формы_для_логина': user, 'Название_Формы_для_пароля': passw}
Эти названия форм можно найти в HTML на страничке

X_Selent
04.09.2018
23:54:36

Crypt
04.09.2018
23:54:36
я сам тут без году неделя, http не открывал даже питонячье

ivan
04.09.2018
23:55:38

Google

X_Selent
05.09.2018
00:00:41
Извиняюсь это ввел в меня в замашательство что из этого является названием для поля ввода?
<input type="text" id="loginform-username" class="form-control" name="LoginForm[username]" placeholder="Ник или электронная почта">

ivan
05.09.2018
00:00:59
name

X_Selent
05.09.2018
00:01:03
LoginForm[username]? Экранизировать не нужно?

ivan
05.09.2018
00:01:09
Странно он выглядит здесь правда

X_Selent
05.09.2018
00:01:48
Вот и я про тоже, по этому в замешательстве

ivan
05.09.2018
00:02:31
Ну, здесь я хз
Но попробуй

Alexandr
05.09.2018
00:03:00
Ну а сделать сабмит и посмотреть, что улетело?

X_Selent
05.09.2018
00:03:01
ок
видимо urlencode переделывает [ ]

Alexandr
05.09.2018
00:07:39
А если открыть консоль разработчика и смотреть запрос?
В браузере консоль
Типа разом и урл, и тело, и хедеры. И все в одном месте.

X_Selent
05.09.2018
00:10:12

Alexandr
05.09.2018
00:10:46
Видимо не переделывает []

X_Selent
05.09.2018
00:12:05
Видимо не переделывает []
Хм я пробую щас так отправить
r = requests.post(url, data={'LoginForm[username]':(user), 'LoginForm[password]':(passw)}, headers=headers, data=json.dumps(payload))
Выдает ошибку
keyword argument repeated
уже вижу где ошибка)

Alexandr
05.09.2018
00:13:17
User и passwd зачем в скобках?

Google

X_Selent
05.09.2018
00:13:18
повторный аргумент data

Alexandr
05.09.2018
00:16:23
Ну у тебя два словаря
dict(a:1, b:2, **dict2)

X_Selent
05.09.2018
00:17:55

Alexandr
05.09.2018
00:18:40
Маленько тебя обманул

X_Selent
05.09.2018
00:19:16
В чем?

Alexandr
05.09.2018
00:19:49
dict(pass='wee', login='wee', **dict2)

X_Selent
05.09.2018
00:21:57
Эх всеравно не понял как исправить(

Alexandr
05.09.2018
00:22:03
Это в 3.4 проканает и выше
А что у тебя вообще в data?
В payload точнее

X_Selent
05.09.2018
00:23:22

Alexandr
05.09.2018
00:24:21
Ну а запихать логин и пароль в payload?

X_Selent
05.09.2018
00:24:26
token = soup.find('input', {'name':'_csrf'})['value']
headers = {'Host': 'jugl.net',
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Origin': 'https://jugl.net',
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Referer': 'https://jugl.net/login',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'}
r = requests.get(url, headers=headers)
payload = {'_csrf':(token)}
r = requests.post(url, data={'LoginForm[username]':user, 'LoginForm[password]':passw}, headers=headers, data=json.dumps(payload))
print(r.status_code)
print(r)
Надо попробовать)


Alexandr
05.09.2018
00:27:37
data={'LoginForm[username]':user, 'LoginForm[password]':passw, **payload}
А вторую дату вообще убрать. Но это только на новых версиях питона прокатит

X_Selent
05.09.2018
00:31:03
У меня крайняя версия
ууу еще лучше SSL: CERTIFICATE_VERIFY_FAILED теперь проблема c SSL

Google

X_Selent
05.09.2018
00:32:21
r = requests.get(url, headers=headers)
payload = {'_csrf':(token), 'LoginForm[username]':user, 'LoginForm[password]':passw}
r = requests.post(url, headers=headers, data=json.dumps(payload))
print(r.status_code)
Я вот так щас сделал

Alexandr
05.09.2018
00:33:09
payload = {'_csrf':token,
'LoginForm[username]':user, 'LoginForm[password]':passw}
r = requests.post(url, headers=headers, data=json.dumps(payload))
print(r.status_code)
print(r)
Только там точно json в data?

X_Selent
05.09.2018
00:34:03
блин что ж у меня за привычка переменные обрамлять в скобки
да, только scrf передается в json остальное нет

Alexandr
05.09.2018
00:35:03
Эээ

X_Selent
05.09.2018
00:36:24
хм?
Вот чую, что где то мелкая ошибка, а убивает столько времени

Alexandr
05.09.2018
00:37:44
А что говорит?

X_Selent
05.09.2018
00:38:44
на SSL ругается http://skrinshoter.ru/s/050918/yqA00vPC

Crypt
05.09.2018
00:42:32

X_Selent
05.09.2018
00:44:10
Хм странна, почему SSL не работает из коробки

Egor
05.09.2018
00:47:21

X_Selent
05.09.2018
00:56:23
Попробовал отключить проверку, все равно ответ 400(

Egor
05.09.2018
00:58:27

X_Selent
05.09.2018
00:59:00

Egor
05.09.2018
01:01:02
Ты на свой код еще раз посмотри внимательно. Мой запрос requests срабатывает как надо. Также глянь на время в системе, на версию пакета.