python – 使用urllib2时出现“TypeError:需要浮动”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 使用urllib2时出现“TypeError:需要浮动”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2499字,纯文字阅读大概需要4分钟。
内容图文
![python – 使用urllib2时出现“TypeError:需要浮动”](/upload/InfoBanner/zyjiaocheng/736/daf65b7c7f0b4cfbaa9af797fc53ab0d.jpg)
我正在遵循发布仅应用程序请求的twitter API documentation.
执行步骤2:获取承载令牌时发生错误.我不熟悉追溯中这些模块的细节,有人能告诉我如何使代码工作吗?
这是我的代码:
import urllib, urllib2, base64
consumer_key = 'KmdCpWGtKEtQ0EdZyQCEZGmcX'
consumer_secret = 'B3I0RcG8vsCC1Y4LBIHIlNvm2NrSB9smlPovYnKYjCyUoNBcMd'
consumer_key_secret = urllib.quote(consumer_key) + ':' + urllib.quote(consumer_secret)
token = base64.b64encode(consumer_key_secret)
headers = {'Authorization': 'Basic ' + token, 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}
data = {'grant_type': 'client_credenials'}
resp = urllib2.urlopen('https://api.twitter.com/oauth2/token', urllib.urlencode(data), headers)
错误:
Traceback (most recent call last):
File "app_only_auth.py", line 12, in <module>
resp = urllib2.urlopen('https://api.twitter.com/oauth2/token', urllib.urlencode(data), headers)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 400, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 418, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1215, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1174, in do_open
h.request(req.get_method(), req.get_selector(), req.data, headers)
File "/usr/lib/python2.7/httplib.py", line 958, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 992, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 776, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 1157, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 559, in create_connection
sock.settimeout(timeout)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
TypeError: a float is required
解决方法:
urlopen函数使用以下格式:urllib2.urlopen(url [,data] [,timeout])
在您的代码中,您将标题设置为urlopen作为超时值,这会导致您获得TypeError.
应通过使用urllib2.Request()函数创建请求来添加标头.例如:
req = urllib2.Request('https://api.twitter.com/oauth2/token', urllib.urlencode(data), headers)
resp = urllib2.urlopen(req)
内容总结
以上是互联网集市为您收集整理的python – 使用urllib2时出现“TypeError:需要浮动”全部内容,希望文章能够帮你解决python – 使用urllib2时出现“TypeError:需要浮动”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。