如何使用urllib2使用Python对站点进行身份验证?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用urllib2使用Python对站点进行身份验证?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1972字,纯文字阅读大概需要3分钟。
内容图文
在Stackoverflow和网络上阅读了很多内容后,我仍然在努力让事情发挥作用.
我的挑战:使用Python和urllib2访问我所属的网站的受限制部分.
从我读过的代码应该是这样的:
mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
url = 'http://www.domain.com'
mgr.add_password(None, url, 'username', 'password')
handler = urllib2.HTTPBasicAuthHandler(mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
try:
response = urllib2.urlopen('http://www.domain.com/restrictedpage')
page = response.read()
print page.geturl()
except IOError, e:
print e
打印不打印“http://www.domain.com/restrictedpage”,但显示“http://www.domain.com/login”,因此我的凭据未存储/处理,我正在重定向.
我怎样才能让它发挥作用?我已经尝试了好几天,并且一直在追求同样的死胡同.我已经尝试了所有我找不到的例子.
我的主要问题是:使用Python和urllib2对网站进行身份验证需要什么?
快速提问:我做错了什么?
解决方法:
首先手动检查成功通过身份验证后的实际情况(Chrome说明):
>在Chrome中打开开发工具(Ctrl Shift I)
>单击网络选项卡
>手动执行身份验证(转到页面,键入user passwd submit)
>检查开发人员工具的“网络”选项卡中的POST方法
>检查请求标头,查询字符串参数和表单数据.在那里,您可以在自己的POST中找到所需的所有信息.
然后安装“Advanced Rest Client(ARC)”Chrome扩展程序
使用ARC构造有效的POST进行身份验证.
现在您知道标题和表单数据中包含的内容.以下是使用请求的示例代码,该代码适用于某个特定网站:
import requests
USERNAME = 'user' # put correct usename here
PASSWORD = 'password' # put correct password here
LOGINURL = 'https://login.example.com/'
DATAURL = 'https://data.example.com/secure_data.html'
session = requests.session()
req_headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
formdata = {
'UserName': USERNAME,
'Password': PASSWORD,
'LoginButton' : 'Login'
}
# Authenticate
r = session.post(LOGINURL, data=formdata, headers=req_headers, allow_redirects=False)
print r.headers
print r.status_code
print r.text
# Read data
r2 = session.get(DATAURL)
print "___________DATA____________"
print r2.headers
print r2.status_code
print r2.text
内容总结
以上是互联网集市为您收集整理的如何使用urllib2使用Python对站点进行身份验证?全部内容,希望文章能够帮你解决如何使用urllib2使用Python对站点进行身份验证?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。