首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在request.get python中传递逗号分隔值

在request.get python中传递逗号分隔值
EN

Stack Overflow用户
提问于 2015-08-31 22:27:42
回答 3查看 7K关注 0票数 3

您好,我正在尝试从restful api读取

代码语言:javascript
复制
http://localhost:1010/productfamily?date=2015-08-28&list=abc,xyz

我像这样传递这些值

代码语言:javascript
复制
url = 'http://localhost:1010/productfamily'
sdate = '2015-08-28'
plist = 'abc,xyz'
params = (('date', sdate ), ('list', plist))
requests.get(url, params)

我没有得到想要的输出。如何以这种方式传递逗号分隔的字符串?

当我像这样传递它时,它起作用了

代码语言:javascript
复制
requests.get(url+?'date='+sdate'&lisy='plist)
EN

回答 3

Stack Overflow用户

发布于 2015-08-31 22:37:06

问题在于你如何指定你的参数,以及你如何传递它们。试着这样做:

代码语言:javascript
复制
url = 'http://localhost:1010/productfamily'
sdate = '2015-08-28'
plist = 'abc,xyz'
params = {
  'date': sdate,
  'list': plist
 }
requests.get(url, params = params)
票数 4
EN

Stack Overflow用户

发布于 2015-08-31 22:38:00

要为同一个键传递多个值,请传入一个dict,并将可迭代元素作为其值

代码语言:javascript
复制
url = 'http://localhost:1010/productfamily'
params = {'sdate': '2015-08-28'}
params['plist'] = ('abc', 'xy')
requests.get(url, params)

编辑:

OP确实要求一个逗号分隔的值列表,正如somewhatoff在注释中指出的那样,此代码生成多个key=value参数。也就是说,OP还声明他们正在从API“读取”并发出GET请求,这表明这不是他们正在创建的服务。虽然没有关于如何提供多个值的规范,但我的经验是,“大多数”服务器框架都会接受这种格式的多个值,而且我还没有看到“在野外”需要的CSV格式。

维基百科在这里支持这一立场:https://en.wikipedia.org/wiki/Query_string#Web_forms

另请参阅此答案,了解有关特定web服务器行为的更多信息:https://stackoverflow.com/a/1746566/4075135

票数 4
EN

Stack Overflow用户

发布于 2015-08-31 22:30:11

您需要将字典作为参数传递,而不是元组列表。

代码语言:javascript
复制
params = {
      'date': sdate,
      'list': plist,
     }

requests.get(url, params)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32313623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档