我正在学习python3来登录一个网站
在Chrome中,我发现登录表单是:
<form id="login_form" action="http://www.smzdm.com/user/login" method="post">
<div class="item-tip">用户名/邮箱</div>
<input id="user_login" class="form-input" type="text" name="user_login" value="" tabindex="1" autocomplete="off">
<div class="item-tip">密码</div>
<input id="user_pass" class="form-input" type="password" name="user_pass" value="" tabindex="2">
<input type="submit" id="btn_login" class="btn_login" value="登 录" tabindex="4">
</form>
但当我登录后发现他们使用jQueryGET方法发送数据:
^{pr2}$请求url将是:
在这些之后,我制作了python代码:
url = 'http://www.smzdm.com/user/login/jsonp_check'
request_data = {
'user_login': 'MYUSERNAME',
'user_pass': 'MYPASSWORD'
}
headers = {
'Host': 'www.smzdm.com',
'Referer': 'http://www.smzdm.com/',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)'
}
cookie = http.cookiejar.MozillaCookieJar(cookie_file)
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
urllib.request.install_opener(opener)
data = urllib.parse.urlencode(request_data).encode('utf-8')
request = urllib.request.Request(url, headers=headers)
respone = urllib.request.urlopen(request, data=data)
# Another request gets the user's info
req = urllib.request.Request('http://www.smzdm.com/user', headers=headers)
r = urllib.request.urlopen(req)
result = r.read().decode('utf-8')
print(result)
但是在运行这些代码之后,我似乎没有成功登录,这是我犯了什么错误吗?在
谢谢!在
您缺少大量查询字符串。。。在
试试看,它应该和你发布的网址完全匹配。在
相关问题 更多 >
编程相关推荐