searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Python中使用requests库发送GET请求如何保证其参数不被转义

2024-08-19 09:30:18
41
0

背景

  python的requests库发送GET请求时,会自动将参数进行转义,比如:":"变为"%3A",如果服务方希望接收到原始字符才能进行处理,那就需要参数保持原样传递了。

代码演示

  1. 正常GET请求的参数输出
import requests as req
url = "127.0.0.1:28080/xxx/api/v1/flush"
d = {
    "data": "ddd.ha.com/@233.html",
    "version": 1723113400000001
}
r = req.get(url, params=d)
print(r.url)

### 结果:
### 127.0.0.1:28080/xxx/api/v1/flush?data=ddd.ha.com%2F%40233.html&version=1723113400000001
  1. 去除转义后的请求代码
import requests as req
from urllib.parse import urlencode
url = "127.0.0.1:28080/xxx/api/v1/flush"
d = {
    "data": "ddd.ha.com/@233.html",
    "version": 1723113400000001
}
d = urlencode(d, safe=":/@")
r = req.get(url, params=d)
print(r.url)

### 结果:
### 127.0.0.1:28080/xxx/api/v1/flush?data=ddd.ha.com/@233.html&version=1723113400000001
0条评论
0 / 1000
孟****强
5文章数
0粉丝数
孟****强
5 文章 | 0 粉丝
原创

Python中使用requests库发送GET请求如何保证其参数不被转义

2024-08-19 09:30:18
41
0

背景

  python的requests库发送GET请求时,会自动将参数进行转义,比如:":"变为"%3A",如果服务方希望接收到原始字符才能进行处理,那就需要参数保持原样传递了。

代码演示

  1. 正常GET请求的参数输出
import requests as req
url = "127.0.0.1:28080/xxx/api/v1/flush"
d = {
    "data": "ddd.ha.com/@233.html",
    "version": 1723113400000001
}
r = req.get(url, params=d)
print(r.url)

### 结果:
### 127.0.0.1:28080/xxx/api/v1/flush?data=ddd.ha.com%2F%40233.html&version=1723113400000001
  1. 去除转义后的请求代码
import requests as req
from urllib.parse import urlencode
url = "127.0.0.1:28080/xxx/api/v1/flush"
d = {
    "data": "ddd.ha.com/@233.html",
    "version": 1723113400000001
}
d = urlencode(d, safe=":/@")
r = req.get(url, params=d)
print(r.url)

### 结果:
### 127.0.0.1:28080/xxx/api/v1/flush?data=ddd.ha.com/@233.html&version=1723113400000001
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0