使用requests进行网络请求,返回信息是乱码

报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x83 in position 0: invalid start byte

问题:使用requests进行网络请求,返回信息使用decode进行各种解码,但是无法成功。

测试:然后使用fiddler进行代理,返回信息正确。

原因:headers中数据格式为gzip,去掉即可。或者是http2请求,改为httpx请求。

做法:使用requests进行本地fiddler代理

ip = '127.0.0.1:8888'
proxies = {
            "http": "http://" + ip,
            "https": "http://" + ip,
        }
response = requests.get(url,headers=headers, proxies=proxies)

解决

使用http3进行网络请求

import http3

url = ""
response = http3.get(url)
content = response.content.decode('utf-8')

fiddler使用注意事项:

1,打开fiddler后再用python进行网络请求,将出现无法访问

2,使用python进行本地fiddler代理需要手动在设置中设置代理

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值