Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python请求登录_Python 3.x_Beautifulsoup_Python Requests - Fatal编程技术网

Python 3.x Python请求登录

Python 3.x Python请求登录,python-3.x,beautifulsoup,python-requests,Python 3.x,Beautifulsoup,Python Requests,我正在创建一个python脚本,它将登录到torrent站点并获取最新的torrent from bs4 import BeautifulSoup from requests import session payload = { 'action': 'takelogin.php', 'username': 'username', 'password': 'password' } with session() as c: c.post('https://www.

我正在创建一个python脚本,它将登录到torrent站点并获取最新的torrent

from bs4 import BeautifulSoup
from requests import session

payload = {
    'action': 'takelogin.php',
    'username': 'username',
    'password': 'password'
}

with session() as c:
    c.post('https://www.bitsoup.me/login.php', data=payload)
    request = c.get('https://www.bitsoup.me/browse.php?cat=19')
    print request.headers
    print request.text
当我尝试上面的脚本时,我得到

<tr><td align=center class=main style="padding-top: 20px; padding-bottom: 20px">
<h1>Not logged in!</h1>
<p><b>Error:</b> The page you tried to view can only be used when you're logged in.</p>
<form method="post" action="takelogin.php">
<p>Note: You need cookies enabled to log in.</p>
<table border="0" cellpadding=5>
<tr><td class=rowhead>Username:</td><td align=left><input type="text" size=40 name="username" /></td></tr>
<tr><td class=rowhead>Password:</td><td align=left><input type="password" size=40 name="password" /></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Log in!" class=btn></td></tr></table>
<input type="hidden" name="returnto" value="/browse.php?cat=19" />
</form>

没有登录!
错误:您试图查看的页面只能在登录时使用

注意:您需要启用cookies才能登录

用户名: 密码:

我的有效载荷设置正确吗?它还说“您需要启用cookie才能登录”,所以我必须在脚本中设置cookie功能吗?

这纯粹是猜测,因为我无法在没有帐户的情况下再现您的问题

我认为问题实际上是您向错误的URL发出了
POST
。您希望发布到表单的目标,而不是登录页面。原因是您希望模拟登录页面正在执行的操作,即
POST
takelogin.php
站点

尝试从有效负载中删除
操作
,并用以下内容替换您的
post

c.post('https://www.bitsoup.me/takelogin.php', data=payload)

我推断这是因为我在
POST
takelogin.php
时只得到了“密码不正确”的HTML,而OP的原始帖子没有什么意思。

听起来你的脚本没有正确发布登录cookie。不幸的是,只有拥有帐户的人才能真正帮助你,因为在没有实际帐户的情况下无法调试此特定问题:(@merlin2011:(网站禁用了新的注册,这很糟糕,但是你能澄清一下登录cookie部分吗?你可以先试试我的答案,让我知道这是否有效。我只是做了一些戳,看起来关于cookie的消息会显示出来,而不管你是否启用和禁用cookie。而且,它看起来像是库。)您正在使用的“应该处理cookies”。@sevol,您知道什么,我想我错了。我可以不需要帐户就帮您P@sevol请考虑接受这个答案,如果它解决了你的问题。我猜你错了,但同时也是正确的!如果你陷入洪灾,你应该尝试这个网站,一旦注册再次打开。@塞沃,请帮我一个忙。如果打开,请留下评论。:PIf you want我可以向您发送邀请。我刚刚记得我还有4条:)我需要您的电子邮件。