Python 通过urllib/urllib2发布请求?
在你说什么之前,我已经环顾四周了,但是解决方案没有起作用。我需要对Python中的登录脚本发出post请求。URL看起来像,然后它通过POST接受Python 通过urllib/urllib2发布请求?,python,post,request,urllib2,urllib,Python,Post,Request,Urllib2,Urllib,在你说什么之前,我已经环顾四周了,但是解决方案没有起作用。我需要对Python中的登录脚本发出post请求。URL看起来像,然后它通过POST接受用户名和密码。有人能帮我吗 我试过: import urllib, urllib2, cookielib cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders.append(('User-a
用户名
和密码
。有人能帮我吗
我试过:
import urllib, urllib2, cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('User-agent', 'Mozilla/4.0'))
opener.addheaders.append( ('Referer', 'http://www.hellboundhackers.org/index.php') )
login_data = urllib.urlencode({'username' : '[redacted]',
'password' : '[redacted]'
})
resp = opener.open('http://[redacted].org/index.php?act=login', login_data)
print resp.read()
resp.close()
还有一点修改:
import urllib, urllib2, cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('User-agent', 'Mozilla/4.0'))
opener.addheaders.append( ('Referer', 'http://www.hellboundhackers.org/index.php') )
login_data = urllib.urlencode({'act' : 'login',
'username' : '[redacted]',
'password' : '[redacted]'
})
resp = opener.open('http://[redacted].org/index.php', login_data)
print resp.read()
resp.close()
您可能需要查看HTML源代码以了解登录表单操作URL是什么。有时它与页面URL本身相同,但可能不同。但由于您尚未显示实际的URL,我们无法在这方面帮助您
元素可能类似于:
<form method="POST" action="/do_login">
在这种情况下,您可以在POST url中使用
/do\u login
。当然可以从Python发出POST请求。请展示您尝试过的内容,否则我们无法告诉您出了什么问题。请具体说明您尝试过的解决方案,以及您遇到的问题/错误。我刚刚编辑了这篇文章。谢谢我和该网站的管理员谈过,他说它使用POST。不过我还是会查的。谢谢
好的,这是同一页。那你怎么知道它不起作用了?你有任何错误吗?我研究了输出(print resp.read()
),在顶部,登录/注册按钮仍然存在。我还尝试了test=opener.open('http://[redact].org/index.php?act=“app\u view”)
然后打印test.read()在RESP行之后,说我没有登录,所以我无法访问该页面。可能需要考虑表单的其他方面,如隐藏字段或cookie。这些在登录表单上是常见的,并且您可能需要提供额外的信息。这可以变得相当复杂,并且可以很好地理解窗体和窗体。浏览器的工作是必不可少的。是的,有一个隐藏的字段。我的朋友发现了它:P。谢谢!