У меня есть эта форма, но я не уверен, как создать полезную нагрузку, которая сделает это правильно.Вход на сайт с запросами
<form method="post" action="/login" name="loginform" id="loginForm">
<fieldset id="fs">
<label for="username">Username:
<input type="text" id="username" name="username" />
</label>
<label for="password">Password:
<input type="password" id="password" name="password" />
</label>
<input type="hidden" name="act" value="login" />
<input name="submit" type="submit" id="submit" value="Login" />
</fieldset>
</form>
Я пытался делать payload = {"username":"blah","password":"blah"}; r=requests.post(url, data=payload)
, но я не получил ответа я ожидал; а именно, r.text
не имеет ожидаемой строки «Login failed». Но когда я заполняю форму и пытаюсь войти в систему в первый раз через браузер, это указывает на то, что это был мой второй неудачный логин.
Веб-сайт, на котором я играю, в частности, - это www.thepiratebay.se, и то, над чем я работаю, - это возможность программно загружать торрент-файл.
--- EDIT ---
Новый код я использую
import requests
user = "username"
pswd = "password"
url = "http://www.thepiratebay.se/login"
payload = {
"act":"login",
"username":user,
"password":pswd,
"submit":"Login"
}
r = requests.post(url, data=payload, allow_redirects=True)
print r.text
До сих пор не работает! r.text
- это только страница входа по умолчанию. Больше предложений?
Вы не указали параметр 'act'. –