欢迎访问宙启技术站
智能推送

Tornado.httpclient中UA、Referer等请求头的设置方法

发布时间:2023-12-17 02:43:33

在 tornado.httpclient 中设置 User-Agent (UA) 和 Referer 请求头,可以通过使用 tornado.httputil.HTTPHeaders 类来设置请求头信息。HTTPHeaders 类是 Tornado 中用于表示 HTTP 请求头的类,可以通过字典或关键字参数来设置请求头。

要设置 User-Agent 头,可以使用 HTTPHeaders 类的 update 方法,将 User-Agent 字段添加到请求头中。例如:

import tornado.httpclient
from tornado import httputil

headers = httputil.HTTPHeaders({"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"})

http_client = tornado.httpclient.HTTPClient()

request = tornado.httpclient.HTTPRequest(url='http://www.example.com', headers=headers)
response = http_client.fetch(request)

print(response.body)

在上面的代码中,我们首先创建了一个 HTTPHeaders 对象,并将 User-Agent 字段设置为一个虚构的浏览器 User-Agent。然后,我们创建了一个 HTTPClient 对象,并用设置了请求头的 HTTPHeaders 对象创建了一个 HTTPRequest 对象。最后,我们使用 HTTPClient 的 fetch 方法发送请求,并将响应保存在 response 变量中。可以通过打印 response.body 来查看响应内容。

要设置 Referer 头,可以使用相同的方法,只需要将 Referer 字段添加到 HTTPHeaders 对象中即可。例如:

import tornado.httpclient
from tornado import httputil

headers = httputil.HTTPHeaders({"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
                                "Referer": "http://www.example.com"})

http_client = tornado.httpclient.HTTPClient()

request = tornado.httpclient.HTTPRequest(url='http://www.example.com', headers=headers)
response = http_client.fetch(request)

print(response.body)

在上面的代码中,我们创建了一个包含 User-Agent 和 Referer 字段的 HTTPHeaders 对象。然后,我们使用这个 HTTPHeaders 对象创建了一个 HTTPRequest 对象,并发送了一个请求。最后,我们打印出响应的内容。

这样,我们就可以使用 tornado.httpclient 中的方法,设置 User-Agent 和 Referer 请求头,并发送带有自定义请求头的HTTP请求。