如何使用python请求库登录phone.ipkall.com?
我正在尝试学习python,但我对HTTP一无所知,我在这里读了一些关于如何使用请求登录网站的帖子。但它不起作用。我的简单代码在这里(不是实数和密码): 但是我无法获取我的个人信息,这些信息应该在登录后显示。有人能给我一些提示吗?或者给我指个方向?我不知道出了什么问题。出于安全原因,服务器不喜欢机器人(脚本)。所以你的脚本必须像人类一样使用真实的浏览器。首先使用如何使用python请求库登录phone.ipkall.com?,python,login,python-requests,Python,Login,Python Requests,我正在尝试学习python,但我对HTTP一无所知,我在这里读了一些关于如何使用请求登录网站的帖子。但它不起作用。我的简单代码在这里(不是实数和密码): 但是我无法获取我的个人信息,这些信息应该在登录后显示。有人能给我一些提示吗?或者给我指个方向?我不知道出了什么问题。出于安全原因,服务器不喜欢机器人(脚本)。所以你的脚本必须像人类一样使用真实的浏览器。首先使用get()获取会话cookie,将headers中的user-agent设置为real-one。使用http://httpbin.org
get()
获取会话cookie,将headers
中的user-agent
设置为real-one。使用http://httpbin.org/headers
查看您的浏览器发送了什么用户代理
始终检查结果r.status\u code
和r.url
因此,您可以从以下内容开始:
(我在此服务器上没有帐户,因此无法测试它)
顺便说一句:如果页面使用JavaScript
您会遇到问题,因为请求
无法在页面上运行JavaScript
。查看post请求返回的内容?顺便说一句,正确的url是http://phone.ipkall.com/process.asp?action=verify
。另外值得注意的是,如果您关心安全性,则登录页面不受SSL保护。
#!/usr/bin/env python3
import requests
login_data = {'txtDID': '111111111',
'txtPswd': 'mypassword'}
with requests.Session() as c:
c.post('http://phone.ipkall.com/login.asp', data=login_data)
r = c.get('http://phone.ipkall.com/update.asp')
print(r.text)
print("Done")
#!/usr/bin/env python3
import requests
s = requests.Session()
s.headers.update({
'User-agent': "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0",
})
# --------
# to get cookies, session ID, etc.
r = s.get('http://phone.ipkall.com/login.asp')
print( r.status_code, r.url )
# --------
login_data = {
'txtDID': '111111111',
'txtPswd': 'mypassword',
'submit1': 'Submit'
}
r = s.post('http://phone.ipkall.com/process.asp?action=verify', data=login_data)
print( r.status_code, r.url )
# --------