为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Python的请求模块“登录”到网站?

如何使用Python的请求模块“登录”到网站?

肥皂起泡泡 2019-06-28 10:18:45
如何使用Python的请求模块“登录”到网站?我试图发布一个使用Python中的请求模块登录到网站的请求,但它并不真正有效。我对此并不熟悉.所以我不知道是否应该制作用户名和密码cookie,或者我找到的某种类型的HTTP授权(?)。from pyquery import PyQueryimport requests url = 'http://www.locationary.com/home/index2.jsp'所以现在,我想我应该用“帖子”和“饼干”.ck = {'inUserName': 'USERNAME/EMAIL', 'inUserPass': 'PASSWORD'}r = requests.post(url, cookies=ck)content = r.text q = PyQuery(content)title = q("title").text()print title我有种感觉我把饼干做错了.我不知道。如果没有正确登录,主页的标题应该是“Locationary.com”,如果是的话,应该是“Home Page”。如果您能向我解释一些关于请求和cookie的事情,并帮助我解决这个问题,我将非常感激。d:谢谢。.还没成功好的.这就是主页HTML在登录之前说的:</td><td><img src="http://www.locationary.com/img/LocationaryImgs/icons/txt_email.gif">    </td><td><input class="Data_Entry_Field_Login" type="text" name="inUserName" id="inUserName"  size="25"></td><td><img src="http://www.locationary.com/img/LocationaryImgs/icons/txt_password.gif"> </td><td><input  class="Data_Entry_Field_Login"  type="password" name="inUserPass"     id="inUserPass"></td>所以我认为我做得对,但输出仍然是“Locationary.com”。第二版编辑:我希望能够在很长一段时间内保持登录,每当我请求在该域下的一个页面,我希望内容显示,就像我已登录。
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

我知道你已经找到了另一个解决方案,但对于那些像我这样发现这个问题的人,寻找同样的东西,可以通过以下请求来实现:

首先,就像Marcus所做的那样,检查登录表单的源以获取三条信息-表单发布到的url以及用户名和密码字段的name属性。在他的例子中,它们是inUserName和inUserPass。

一旦你得到了它,你就可以用一个requests.Session()实例向登录url发出POST请求,并将登录详细信息作为有效负载。从会话实例发出请求与正常使用请求本质上是一样的,它只是增加了持久性,允许您存储和使用cookie等。

假设您的登录尝试成功,您可以简单地使用会话实例向站点发出进一步的请求。标识您的cookie将用于授权请求。

import requests# Fill in your details here to be posted to the login form.payload = {
    'inUserName': 'username',
    'inUserPass': 'password'}# Use 'with' to ensure the session context is closed after use.with requests.Session() as s:
    p = s.post('LOGIN_URL', data=payload)
    # print the html returned or something more intelligent to see if it's a successful login page.
    print p.text    # An authorised request.
    r = s.get('A protected web page url')
    print r.text        # etc...


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 760 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信