Python 请求 : URL with percent character

标签 python url python-requests percent-encoding

我到处搜索这个,但我无法解决我的问题。

我正在使用本地 API 获取一些数据,在该 API 中,通配符是百分号 %

URL 是这样的:urlReq = 'http://myApiURL?ID=something¶meter=%w42'

然后我将其传递给 get 函数:

req = requests.get(urlReq,auth=HTTPBasicAuth(user, pass))

并得到以下错误:InvalidURL: Invalid percent-escape sequence: 'w4'

我曾尝试使用 %% 转义 % 字符,但没有成功。我还尝试了以下方法:

urlReq = 'http://myApiURL?ID=something¶meter=%sw42' % '%' 但效果不佳。

有人知道怎么解决吗?

PS 我正在使用 Python 2.7.8::Anaconda 1.9.1(64 位)

最佳答案

您应该看看 urllib.quote - 它应该可以解决问题。看看 docs供引用。

扩展这个答案:问题是,%(+ 一个十六进制数)是 escape sequence对于 URL 中的特殊字符。如果您希望服务器解释您的 % 文字,您也需要将其转义,方法是将其替换为 %25。前面提到的 qoute 函数会为您做类似的事情。

关于Python 请求 : URL with percent character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40170935/

相关文章:

python - pdf文件中的多行正则表达式

php - 具有可扩展段长度的 laravel 路由

python-3.x - Python3 使用特定 URL 请求 ConnectionError : ('Connection aborted.' , OSError ("(104, ' ECONNRESET')",))

python - pyqt5调用url时处于无响应状态

python - Tensorflow找不到GPU

python - 检查逻辑下游是否存在索引整数时,如何在IF语句中使用索引整数?

javascript - 单击按钮时如何使用 JS 更改当前 URL(用于更改语言)

javascript - 如何解析 URL 的 json 输出

python - 使用 Python 将 ".wav"文件发送到 URL,打印 Response How To?

python - 从Python中的子文件夹导入本地模块时出现ModuleNotFoundError