python - Requests.get 不使用 & 字符

标签 python python-requests

我正在使用以下 url 进行 requests.get 调用:

https://api.datasource.com/apps/ios/ranking?countries=NL&categories=Overall > Kids > 5 & Under&device=ios&ranks=1000

我收到一条错误消息,其中包含 “categories”具有非法值“Overall,这是由于 & sign in Overall > Kids > 5 & Under

转义该字符的最佳方法是什么?

最佳答案

不是直接在 URL 中传递查询参数,requests lets you pass them在字典 params 中,并将处理 URL 编码。 (在这种情况下,您需要对 & 符号进行转义。)

In [15]: params = dict(countries='NL', categories='Overall > Kids > 5 & Under', device='ios', ranks=1000)

In [16]: requests.get("http://www.example.com", params=params)
Out[16]: <Response [200]>

关于python - Requests.get 不使用 & 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44307957/

相关文章:

python - 当我尝试转换 Keras MLP 时,为什么 Google Colab 会给出 "unknown device"错误?

python - 我怎样才能做到这一点?我应该使用 requests 还是 urllib.error 来处理异常?

Python 请求 : Hook or no Hook?

python - 尝试验证 Power Bi Web 应用程序时,重定向 url 不返回授权代码

Python Requests Mock 没有捕获超时异常

python - 使用仅在运行时已知的字段名称更新数据类中的字段

python - 安排方法在特定时间运行

python - 导入时tftpy包语法错误

python - 如何使用 Python、Requests 和 Xpath 抓取网站?

python - 如果列值的组合等于列表中的元组,则删除 Pandas 中的 dataFrame 行