一、获取响应信息相关
响应状态码:status_code
响应信息:reason
相应信响应头部信息: headers
获取请求地址 :url
获取响应正文编码:encoding
import requests
response_obj = requests.get(url="http://47.107.178.45/phpwind")
code = response_obj.status_code #响应状态码
info = response_obj.reason #响应信息
headers = response_obj.headers #获取所有的响应头部信息
url = response_obj.url #获取请求地址
coding = response_obj.encoding #获取响应正文的编码合适
二、模拟请求头
通过get方法中的headers参数进行模拟,不模拟会有一些特殊请求不成功
import requests
request_hearder_infos = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.9'
}
response = requests.get(url='XXX',headers=request_hearder_infos)
三、响应正文编码处理
requests根据请求头content_type的charset去预判的编码 如果请求头没有 则默认为 ISO-8859-1
方案一:查询响应正文的正确编码,然后设置encoding值
response_obj = requests.get(url="https://www.baidu.com")
print(response_obj.encoding)
print(response_obj.headers)
方案二:apparent_encoding根据响应正文的meta中的charset去预判的编码
response_obj = requests.get(url="https://www.baidu.com")
response_obj.encoding = response_obj.apparent_encoding
print(response_obj.text)