【发布时间】:2012-11-30 21:06:49
【问题描述】:
我正在使用 python 包请求向服务器发出获取请求。我的目标是复制某些已知的 http 请求并将它们合并到我的 python 脚本中。原始查询字符串包含一个键值对'version=0%2E12',我知道它是'version=0.12' 的url 编码等效项。下面是我复制 http 请求的示例。
params = {
'version'='0.12',
'language'='en',
...
}
resp = requests.get(url, params)
生成的 url 查询字符串中包含“version=0.12”。如果我尝试将参数的设置更改为以下,
params = {
'version'='0%2E12',
'language'='en',
...
}
但生成的查询字符串包含“版本=0%252E31”。本质上,请求是解析 % 以进行 url 编码。
如何在不手动编写整个 url 的情况下获得正确解析带有句点的 params 参数的请求?
【问题讨论】:
-
.是 URL 编码值中完全有效的字符。为什么您必须对其进行编码? -
原始查询字符串包含 %2E 字符,我想减少因使我的请求不同而可能出现的任何错误。
-
您有实际错误吗?
-
是的。服务器发回 200 响应代码,但返回正文包含错误。
标签: python url python-requests