我注意到没有办法在urllib中关闭连接(关闭不起作用)。是否有更好的更强大的python网络API?
答案 0 :(得分:4)
对于urllib的问题,你并不孤单。 Python社区已经提出了一些替代方案
试试这里:
http://pypi.python.org/pypi/requests
请求是关于urllib的理智API
http://urlgrabber.baseurl.org/
Urlgrabber是urllib的高速重写,支持高级HTTP下载功能。
答案 1 :(得分:1)
Urllib在完成urlopen后关闭连接,fp.close()只关闭filebuffer,它保存检索到的信息:
>>> import urllib
>>> fp = urllib.urlopen('http://www.httpbin.org/ip')
>>> fp.read()
0: '{"origin": "::ffff:92.242.181.219"}'
>>> fp.close()
有很多好的http库:
我正在为这些库构建分析器:source - 还会有速度和内存比较。
另一种选择:
答案 2 :(得分:0)
答案 3 :(得分:0)
要关闭连接,可以使用with语句。这样,您可以确保正确关闭连接,即使出现异常也可以关闭。参见this以获得更好的解释
答案 4 :(得分:-1)