首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决 requests 库 URL 编码问题:使用 prepare 方法发送未编码的 URL

在使用requests库进行URL请求时,通常需要对URL进行编码。然而,有些情况下需要发送未编码的URL,如测试防火墙配置。但即使按照requests库官方文档中的方法,发送的URL仍然被编码,这引发了用户LudiusMaximus的问题。

为了解决这个问题,可以使用requests库提供的`prepare`方法来创建一个预处理的请求,然后使用此请求来发送请求。下面是一个示例代码:

```python

import requests

s = requests.Session()

s.proxies = {

"http" : "http://127.0.0.1:8080",

"https" : "http://127.0.0.1:8080",

}

s.verify = False

base_url = 'https://www.example.com/search'

query = '?date_range=2017-01-01|2017-03-01'

req = requests.Request('GET', base_url)

p = req.prepare()

p.url += query

req = p

resp = s.send(req)

print(resp.request.url)

```

在这个代码中,首先创建了一个requests.Request对象,然后使用`prepare`方法创建了一个预处理的请求,并使用这个请求来发送URL请求,从而避免了URL编码的问题。

希望这个简短的总结对您有所帮助。如果您需要更详细的信息或有其他问题,请随时提问。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OQV10UJjfnOvcOALKpBABFLQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券