![](/img/trans.png)
[英]when navigating to an url, I'm getting error: "urlopen() got an unexpected keyword argument 'headers' "
[英]TypeError: urlopen() got an unexpected keyword argument 'headers'
我正在使用rest api发送推送通知。 文件在这里。 我正在使用金字塔,并使用芹菜调度这些推送通知。
这是我的代码示例:
result = urllib2.urlopen(urlRequest, headers={
"X-Parse-Application-Id": settings["parse.application.id"],
"X-Parse-REST-API-Key": settings["parse.restapi.key"],
"Content-Type": "application/json"
})
connection = httplib.HTTPSConnection('api.parse.com', 443)
connection.connect()
connection.request('POST', '/1/push', json.dumps(data), )
result = json.loads(connection.getresponse().read())
但是芹菜记录了这个错误:
2015-08-18 16:39:45,092 INFO [celery.worker.strategy][MainThread] Received task: app_v1_1.tasks.push_notification[877906d8-1ea7-4b1f-8a54-aa61bffb40e8]
2015-08-18 16:39:45,094 ERROR [celery.worker.job][MainThread] Task app_v1_1.tasks.push_notification[877906d8-1ea7-4b1f-8a54-aa61bffb40e8] raised unexpected: TypeError("urlopen() got an unexpected keyword argument 'headers'",)
Traceback (most recent call last):
File "/home/apnistreet/work/ve/local/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/comp/work/ve/local/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "/home/comp/work/site/code/apnistreet_v1_1/tasks.py", line 168, in push_notification
# "Content-Type": "application/json"
TypeError: urlopen() got an unexpected keyword argument 'headers'
问题是什么?
urllib2.urlopen
没有名为headers
参数:
urllib2.urlopen:(URL,数据=无,超时=套接字。_GLOBAL_DEFAULT_TIMEOUT)
打开URL URL,它可以是字符串或Request对象。
使用urllib2.Request
传递headers
:
req = urllib2.Request(url, headers={
"X-Parse-Application-Id": settings["parse.application.id"],
"X-Parse-REST-API-Key": settings["parse.restapi.key"],
"Content-Type": "application/json"
})
result = urllib2.urlopen(req)
问题
urllib2.urlopen
没有headers
参数。 这是错误消息指示的内容
TypeError:urlopen()获得了意外的关键字参数'headers'
解
connection.request
是定义headers
的地方。
有关示例,请参见此答案 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.