Использование Python и модуль запросов для публикации - PullRequest
0 голосов
/ 17 марта 2020

Есть похожие вопросы, но у меня все еще есть проблема. Я ожидаю получить регистрационное письмо после запуска этого. Я ничего не получаю. Два вопроса. Что не так? Как бы я узнал, что данные были успешно отправлены, в отличие от обычной загрузки страницы?

serviceurl = 'https://signup.com/'
payload = {'register-fname': 'Peter', 'register-lname': "Parker", 'register-email': 'xyz@email.com', 'register-password': '9dlD313kF'}


r2 = requests.post(serviceurl, data=payload)
print(r2.status_code)

1 Ответ

1 голос
/ 17 марта 2020

URL для запроса POST на самом деле https://signup.com/api/users, и он возвращает 200 (в моем браузере).

Вам необходимо повторить то, что делает ваш браузер. Это может включать в себя определенные заголовки запросов.

Вы можете использовать средства разработчика / сетевой инспектор вашего браузера для сбора этой информации.

Информация ниже этого из моего Firefox на моем компьютере:

Заголовки запроса:

Host: signup.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 107
Origin: https://signup.com
Connection: keep-alive
Referer: https://signup.com/
Cookie: _vspot_session_id=ce1937cf52382239112bd4b98e0f1bce; G_ENABLED_IDPS=google; _ga=GA1.2.712393353.1584425227; _gid=GA1.2.1095477818.1584425227; __utma=160565439.712393353.1584425227.1584425227.1584425227.1; __utmb=160565439.2.10.1584425227; __utmc=160565439; __utmz=160565439.1584425227.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; __qca=P0-1580853344-1584425227133; _gat=1
Pragma: no-cache
Cache-Control: no-cache

Полезная нагрузка:

{"status":true,"code":null,"email":"TestEmail@hotmail.com","user":{"id":20540206,"email":"TestEmail@hotmail.com","name":"TestName TestSurname","hashedpassword":"4ffdbb1c33d14ed2bd02164755c43b4ad8098be2","salt":"700264767700800.7531319164902858","accesskey":"68dd25c3ae0290be69c0b59877636a5bc5190078","isregistered":true,"activationkey":"f1a6732b237379a8a1e6c5d14e58cf4958bf2cea","isactivated":false,"chgpwd":false,"timezone":"","phonenumber":"","zipcode":"","gender":"N","age":-1,"isdeferred":false,"wasdeferred":false,"deferreddate":null,"registerdate":"2020/03/17 06:09:27 +0000","activationdate":null,"addeddate":"2020/03/17 06:09:27 +0000","admin":false,"democount":0,"demodate":null,"invitationsrequest":null,"isvalid":true,"timesinvalidated":0,"invaliddate":null,"subscribe":0,"premium":false,"contributiondate":null,"contributionamount":0,"premiumenddate":null,"promo":"","register_token":"","premiumstartdate":null,"premiumsubscrlength":0,"initial_reg_type":"","retailmenot":null,"sees":null,"created_at":"2020/03/17 06:09:27 +0000","updated_at":"2020/03/17 06:09:27 +0000","first_name":"TestName","last_name":"TestSurname"},"first_name":"TestName","last_name":"TestSurname","mobile_redirect":false}

Есть много, что нужно скопировать. Такие вещи, как хешированный пароль, соль, даты и т. Д. c были бы сгенерированы JavaScript, выполненным вашим браузером.

Имейте в виду, что владелец веб-сайта может не ценить бота, создающего учетные записи пользователей.

...