python - 如何在url中发送批量数据?

标签 python django get

我必须通过 url 发送批量数据项以在服务器端处理。

是否可以使用get方法发送?

 list1 = ["string1","string2","string3","string4"]
 list2 = ["domain_string1","domain_string2"]

 url = http://127.0.0.1/search?l=list1&l2=list2

应该如何传递这些列表?

这些项目列表会动态增长。有时我们会在每个列表中得到 10 个项目

建议我怎么走?

最佳答案

一般来说,最好避免在 GET 请求中使用长查询字符串。一个很好的引用问题是 SO 问题 What is the maximum length of a URL? .您不想超过 2000 个字符。

如果您的商品始终适合此长度,您可以使用 urllib.urlencode转换您的参数:

>>> list1 = ["string1","string2","string3","string4"]
>>> list2 = ["domain_string1","domain_string2"]
>>> allparams = map(lambda x: ("list1", x), list1)
>>> allparams += map(lambda x: ("list2", x), list2)
>>> import urllib
>>> urllib.urlencode(allparams)
'list1=string1&list1=string2&list1=string3&list1=string4&list2=domain_string1&list2=domain_string2'

相反,您可以使用 POST 请求。我强烈推荐 requests图书馆:

import requests
r = requests.post("http://127.0.0.1/search", data=allparams)

关于python - 如何在url中发送批量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9892893/

相关文章:

Django View 从应该发送 POST 的表单接收 GET 请求

python - 多个 for 循环以更 Pythonic 的方式相互依赖

python - 将时间序列转换为热图

django - 所引用的交易不符合发放信用的标准

python - 运行 Django 测试时如何查看标准输出?

get - UWP:从 'get; & set;' 中的 FilePath 设置 image.source

php - 自定义页面 GET 请求上的 Drupal 干净 url

python - 将逻辑字符串转换为 JSON

python - 如何使用 Matplotlib 绘制 3D 扇区?

django - Python/Django SMTP DebugServer 不接收电子邮件