TypeError:使用urllib在python脚本中的unhashable类型

时间:2014-11-25 15:28:23

标签: python curl urllib2 typeerror urllib

我尝试使用urllib在python脚本中执行以下curl命令:

curl -H "token:<COMPANY_TOKEN>" -X PUT \
https://<DOMAIN>.ezofficeinventory.com/assets/<ASSET_ID>/checkout.api?user_id=<USER_ID>

这是我在Python中所拥有的:

import urllib
import urllib2

theToken = <TOKEN>
headers = {"token":theToken}

checkOutUrl = "https://<DOMAIN>.ezofficeinventory.com/assets/<ASSET_ID>/checkout.api?user_id=<USER_ID>"

req = urllib2.Request(checkOutUrl, headers)
response = urllib2.urlopen(req)
thePage = response.read()

我理解这个特殊错误会在没有以下内容的情况下出现:

data = urllib.urlencode(values)

但是此命令没有数据,并且在shell提示符下工作正常。

1 个答案:

答案 0 :(得分:0)

您正在尝试将标头作为请求主体传递data参数。不要将这些头文件作为位置参数传递,而是使用关键字参数:

req = urllib2.Request(checkOutUrl, headers=headers)