我正在尝试使用用户名和密码填写位于https://idp.ncedcloud.org/idp/AuthnEngine#/authn
的表单。我想知道是否成功通过。我试过它ith python2,但我无法让它工作。
#!/usr/bin/env python
import urllib
import urllib2
name = "username"
name2 = "password"
data = {
"description" : name,
"ember501": name2
}
encoded_data = urllib.urlencode(data)
content = urllib2.urlopen("https://idp.ncedcloud.org/idp/AuthnEngine#/authn",
encoded_data)
print(content)
错误:
它打印同一网页的内容,我希望它打印新的网页内容。
期望的行为:
python3解决方案,转到下一个网页,或为什么我的代码不工作
答案 0 :(得分:1)
使用requests库将数据发布到此类网页的基本示例。我建议使用会话,以便为以下任何请求保存您的登录信息:
import requests
url = "http://example.com"
name = "username"
name2 = "password"
data = {
"description" : name,
"ember501": name2
}
s = requests.Session()
# If it supports basic auth you could just do
# s.auth(username, password) here before a request
req = s.post(url, data=data)
print(req.text)
然后应该能够使用s
会话对象