繁体   English   中英

在 Python 中使用 Requests 库发送“User-agent”

[英]Sending "User-agent" using Requests library in Python

我想在使用 Python 请求请求网页时发送"User-agent"的值。 我不确定是否可以将其作为 header 的一部分发送,如下面的代码所示:

debug = {'verbose': sys.stderr}
user_agent = {'User-agent': 'Mozilla/5.0'}
response  = requests.get(url, headers = user_agent, config=debug)

调试信息未显示在请求期间发送的标头。

在header中发送此信息是否可以接受? 如果没有,我该如何发送?

user-agent应指定为标头中的字段。

这是HTTP 标头字段列表,您可能会对特定于请求的字段感兴趣,其中包括User-Agent

如果您使用 requests v2.13 和更新版本

做你想做的最简单的方法是创建一个字典并直接指定你的标题,如下所示:

import requests

url = 'SOME URL'

headers = {
    'User-Agent': 'My User Agent 1.0',
    'From': 'youremail@domain.example'  # This is another valid field
}

response = requests.get(url, headers=headers)

如果您使用 requests v2.12.x 及更早版本

较旧版本的requests破坏了默认标头,因此您需要执行以下操作来保留默认标头,然后将您自己的标头添加到其中。

import requests

url = 'SOME URL'

# Get a copy of the default headers that requests would use
headers = requests.utils.default_headers()

# Update the headers with your custom ones
# You don't have to worry about case-sensitivity with
# the dictionary keys, because default_headers uses a custom
# CaseInsensitiveDict implementation within requests' source code.
headers.update(
    {
        'User-Agent': 'My User Agent 1.0',
    }
)

response = requests.get(url, headers=headers)

使用session更方便,这样你就不必每次都记住设置标题:

session = requests.Session()
session.headers.update({'User-Agent': 'Custom user agent'})

session.get('https://httpbin.org/headers')

默认情况下,会话还为您管理 cookie。 如果您想禁用它,请参阅此问题

它将像浏览器一样发送请求

import requests

url = 'https://Your-url'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'}

response= requests.get(url.strip(), headers=headers, timeout=10)

只需您可以像下面这样:

import requests

url = requests.post("URL", headers={"FUser":"your username","FPass":"your password","user-agent": "your custom text for the user agent "})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM