python - httplib和urllib2有什么区别??囧
阿神
阿神 2017-04-17 12:01:18
[Python讨论组]

想从java转Python,Python看了一个特别简单的教程,就想先上手试试。结果就卡了。。。
想调用github的OPEN API试试,搜了一下httpclient(显然java的名字,勿喷。。。),搜到了httplib。然后就照猫画虎写程序。见下。

#!/usr/bin/python
#coding=utf8

import httplib

try:
    httpClient = httplib.HTTPConnection('https://api.github.com/', 80)
    headers = {"Content-type":"application/json"}
    param = None
    httpClient.request('GET','/', param, headers)
    response = httpClient.getresponse()
    print response.status
except Exception, e:
    print e
finally:
    if httpClient:
        httpClient.close()

然后运行完了报错[Errno 11004] getaddrinfo failed
搜了很多,发现没有解决了的,只有改用urllib的。
这个倒是成功了。。。

#!/usr/bin/python
#coding=utf8

import urllib2
import json

response = urllib2.urlopen('https://api.github.com/')
data = json.load(response) 
print data

我就特想知道httplib那段程序哪里错了。。。

====
采纳答案的评论里的内容:
httplib.HTTPSConnection('api.github.com/',443)

阿神
阿神

闭关修行中......

全部回复(4)
ringa_lee

https 不是80端口,是443端口

巴扎黑

跑个题,您见到如此反人类的 API 设计,还有使用 urllib2 的欲望吗?
珍爱生命,远离 urllib2。(Requests 就不错)

PHPz

pycurl,,,字数补丁

PHP中文网

可以考虑使用Requests这个库, 还是挺好用的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号