【问题标题】:Python - ValueError: need more than 1 value to unpackPython - ValueError:需要超过 1 个值才能解压
【发布时间】:2012-06-18 16:24:29
【问题描述】:

请检查这个问题Python oauth2 - making request 我正在我的网络应用程序中使用 vimeo 集成。

最初我得到一个 oauth_signature 并且我没有任何问题(没有错误),我从一开始就再次尝试了这些东西,现在我得到 ValueError: need more than 1 value在提出此请求时解包

>>> r = request.get(url, headers=headers)

你可以在这里查看我的代码https://gist.github.com/2949182

错误是

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/api.py", line 51, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/api.py", line 39, in request
return s.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/sessions.py", line 159, in request
headers[k] = header_expand(v)
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/utils.py", line 152, in header_expand
for i, (value, params) in enumerate(headers):
ValueError: need more than 1 value to unpack

谢谢!

更新

>>> headers
{'Authorization': u'oauth_body_hash=XXXXXXXXXXXXXXXXXXXXXXXXXX,oauth_nonce=3454768,oauth_timestamp=1340035585,oauth_consumer_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,oauth_signature_method=HMAC-SHA1,oauth_version=1.0,oauth_signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX,oauth_callback=http://127.0.0.1:8000/information/vimeo'}

【问题讨论】:

  • 尝试r = requests.get(url, params=headers) - get() 不接受标题
  • @astynax No. 不起作用,这不是 vimeo oauth 请求的正确格式。
  • 分配给headers的是什么?
  • post() 接受标题:requests.post(url, headers=headers)
  • 请在“r = request.get(url, headers=headers)”之前打印标题

标签: python django api oauth vimeo


【解决方案1】:

为了能够解压字典,你必须使用 .items(),所以代码应该是这样的:

for i, (value, params) in enumerate(headers.items()):

现在因为这不是您的代码并且您无法更改它,所以错误告诉您的是,如果您像这样传递标头,标头不应该是字典,而是元组(或列表):

headers = [("Authorization", "Values")]

它应该可以工作。

编辑:这不起作用。现在字典版本 {"Authorization": "Values"} 对我有用,也许更新请求会有所帮助。

【讨论】:

  • 检查库中的代码。它适用于我使用字典版本。我的请求库版本是 0.10.8
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
  • 2013-04-04
  • 2011-02-18
  • 1970-01-01
相关资源
最近更新 更多