p_session = requests.Session()
signin_response = p_session.post(signin_url,
data=logininfo,
headers=headers,
verify=False,#verify ssl
)
#print out the response content, which is in the form of dictionary
print signin_response.content
#according to the output, you may have ideas to judge whether login or not, according to the keys
#one way to fetch the value of key is:
print signin_response.json()[u'reply_msg']#assume reply_msg is one of the keys
站点响应的状态代码完全取决于它们的实现;如果您尝试登录到web服务,则更有可能得到非200响应。如果一个登录尝试在一个正常的网站上产生了一个非200响应,那么它需要一个特殊的处理程序,而不是一个200响应,一个正常的页面提示你(可能是一个人类用户,而不是一个脚本)一个视觉提示,表明登录失败。你知道吗
如果您登录的站点无论成功或失败都返回200,那么您可能需要使用lxml或BeautifulSoup之类的工具来查找成功或失败的迹象(您可能已经在使用它来处理您登录访问的任何内容)。你知道吗
下面是一个简单的例子:
HTTP状态码通常用于浏览器,或者用于客户端与服务器对话的API。对于普通的网站,使用状态码来获取语义错误信息并不是很有用。过度使用那里的状态码甚至可能导致浏览器无法正确呈现响应。你知道吗
因此,对于正常的HTML响应,您通常希望几乎所有内容都使用代码200。你知道吗
为了检查错误,您必须检查来自HTML响应的特定于应用程序的错误输出。找出这些迹象的一个好方法是,尝试使用无效凭据从浏览器登录,然后检查呈现的输出。或者许多网站在你登录后也会显示某种用户菜单,检查它的存在以确定你是否登录了。当它不存在时,登录可能会失败。你知道吗
相关问题 更多 >
编程相关推荐