账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    requests中data和headers的区别
    21
    0

    本人新手,正在研究一个网站的模拟登陆,发现使用requests登陆之后返回的信息提示"未知浏览器"。部分代码如下:

    payload = {
        'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
        'Host': 'http://example.com',
        'Origin': 'http://example.com',
        'Referer': 'http://example.com/login.js',
        'Accept-Encoding': 'gzip, deflate'
    }
    s = requests.session()
    s.get('http://example.com/login',data=payload) #这里可否用headers=payload?

    抓包用的fiddler,但是对web知识有点一知半解,想问requests中headers与data有什么具体区别?比如在fiddler中显示的位置?fiddler抓出来的包是这样的:

    POST http://w.dareng.com/sop.php?version=6.0.0.0 HTTP/1.1
    Host: w.dareng.com
    Connection: keep-alive
    Content-Length: 760
    Accept: application/json, text/javascript, */*; q=0.01
    Origin: chrome-extension://aokheaddinafdmjphkjlnachkejgleao
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: a_cvetc=q1Aedgbe1B+Gxr3456efvihdrA1lf67UOAd8
    
    data=%23eyJyZXF1ZXN0SWQiOiIxLU9EY3pOekF6T0RRek5pMHhOVEUyTnpBMU1UQXlMVEl0T0E9PSIsImRhdGEiO

    请求中如果包含cookie的话在requests中用headers=还是data=?上面的post请求中的data又该如何处理?
    UA的话是用headers=处理还是data=?
    感觉问题有点低级,但还恳请详细地说一下。
    谢谢大家。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 孤寐语 普通会员 1楼

      在requests库中,data和headers是两个非常重要的参数。

      data参数用于在发送请求时传递数据。这是一个字典,其中键是请求的参数名,值是对应的参数值。例如,如果你有一个包含用户信息的列表,你可以使用data参数将其作为请求体发送:

      ```python import requests

      url = "http://example.com/api" data = { "name": "John", "age": 30 } response = requests.post(url, data=data) ```

      headers参数用于在发送请求之前设置请求头。请求头是一个字典,其中键是请求头的名称,值是对应的值。例如,如果你想要设置一个简单的User-Agent头,你可以使用headers参数:

      ```python import requests

      url = "http://example.com/api" headers = { "User-Agent": "Mozilla/5.0" } response = requests.post(url, headers=headers) ```

      需要注意的是,data和headers参数不能同时使用,如果一个参数被设置,另一个参数就无法设置。例如:

      ```python import requests

      url = "http://example.com/api" data = { "name": "John", "age": 30 } headers = { "User-Agent": "Mozilla/5.0" } response = requests.post(url, headers=headers, data=data) ```

      这将会抛出一个错误,因为headers参数设置了User-Agent头,而data参数没有设置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部