Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python比urllib更好的网络API_Python_Network Programming - Fatal编程技术网

Python比urllib更好的网络API

Python比urllib更好的网络API,python,network-programming,Python,Network Programming,我注意到在urllib中没有关闭连接的方法(关闭不起作用)。python有更好更健壮的网络API吗? Urllib在完成urlopen后关闭连接本身,fp.close()只关闭保存检索到的信息的filebuffer: >>> import urllib >>> fp = urllib.urlopen('http://www.httpbin.org/ip') >>> fp.read() 0: '{"origin": "::ffff:92.24

我注意到在urllib中没有关闭连接的方法(关闭不起作用)。python有更好更健壮的网络API吗?


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库:

  • -简易http客户端,围绕urlib2/httplib构建
  • -非常轻的异步接口,主要用于进行简单的REST请求
  • -最快和最强大的网络库,支持其他协议,还存在CULLS模块,可移植到和

  • 我目前正在为这些库构建探查器:-还将进行速度和内存比较

其他选择:

  • -grownup异步库
  • -用于打开URL的传统库
  • -HTTP协议客户端

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库:

  • -简易http客户端,围绕urlib2/httplib构建
  • -非常轻的异步接口,主要用于进行简单的REST请求
  • -最快和最强大的网络库,支持其他协议,还存在CULLS模块,可移植到和

  • 我目前正在为这些库构建探查器:-还将进行速度和内存比较

其他选择:

  • -grownup异步库
  • -用于打开URL的传统库
  • -HTTP协议客户端

您并不是唯一一个遇到urllib问题的人。Python社区已经想出了很少的替代方案

试试这里:

请求是urllib上的sane API


Urlgrabber是urllib的高速重写,支持高级HTTP下载功能

urllib的问题并非只有你一个人。Python社区已经想出了很少的替代方案

试试这里:

请求是urllib上的sane API


Urlgrabber是urllib的高速重写,支持高级HTTP下载功能

因为还没有提到:很好(尽管它的一个优点是重用持久(保持活动)连接,而不是关闭它们)

至于关闭连接:你到底想要实现什么


如果您希望在请求之后(或者更确切地说,在收到响应之后)关闭连接,可以在请求中添加
连接:close
头。(见附件)。这将导致服务器关闭连接(如果它至少是一个性能良好的服务器。我认为对于httplib2,这也将导致连接关闭(由客户端关闭),以防服务器不按预期运行。我不知道其他LIB的情况)

,因为还没有提到它:很好(尽管它的一个优点是重用持久(保持活动)连接,而不是关闭它们)

至于关闭连接:你到底想要实现什么


如果您希望在请求之后(或者更确切地说,在收到响应之后)关闭连接,可以在请求中添加
连接:close
头。(请参阅)。这将导致服务器关闭连接(如果它至少是性能良好的服务器。我认为对于httplib2,这也将导致连接关闭(由客户端)以防服务器不按预期运行。我不知道其他LIB的情况)

要关闭连接,可以使用with语句。这样可以确保正确关闭连接,即使在出现异常的情况下也可以关闭。有关更好的解释,请参阅。

要关闭连接,可以使用with语句。这样可以确保正确关闭连接,即使在出现异常的情况下也可以关闭。S请参阅以获得更好的解释定义“更好”和“稳健”。与“更好”相关:您打算如何处理API定义“更好”和“稳健”。与“更好”相关:您打算如何处理API