urlfetch
Google over the python lib 和有什么区别urllib2
?
当我遇到谷歌时,urlfetch
我想也许有安全原因。也许谷歌在恶意网址或其他方面更安全?
我有什么理由选择 Google's urlfetch
overurllib2
吗?
urlfetch
Google over the python lib 和有什么区别urllib2
?
当我遇到谷歌时,urlfetch
我想也许有安全原因。也许谷歌在恶意网址或其他方面更安全?
我有什么理由选择 Google's urlfetch
overurllib2
吗?
请注意,在 GAE urllib 中,urllib2 和 httplib 只是 UrlFetch 的包装器(请参阅Fetching urls in Python)。
urlfetch 模块的一个不同之处在于它为您提供了一个用于发出异步请求的接口。
我不为谷歌工作,所以这只是我读过的各种 GAE 帖子的猜测。App Engine 实例并不直接面向互联网,而是隐藏在 Google 基础设施层的后面。当浏览器发出 HTTP 请求时,它不会直接访问您的实例,而是访问 Google 边缘服务器,最终将请求路由到 GAE 实例。
同样,当发出 HTTP 请求时,您的实例不只是打开一个套接字(urllib2 通常会这样做),而是将 HTTP 请求发送到其他发出 HTTP 请求的 Google 边缘服务器。在 GAE 上使用 urllib2 将使用在 urlfetch 之上运行的 GAE 特定版本。
在 App Engine 中使用标准库没有问题。Url Fetch Api 只是一个使 HTTP 请求比 urllib2 更“容易”的服务。对于 Python 新手来说,它更不稳定,例如,您可以轻松地使用非阻塞请求。
我建议您在这里阅读一些补充信息:https ://developers.google.com/appengine/docs/python/urlfetch/overview
如果谷歌在 Python 标准库上发现了一些安全问题。我想它会发送修复程序;)
不同的是:urlfetch只有函数接口,urllib和httplib有OO接口。OO 接口可能非常有用。我在 oauth2 客户端库中看到了一个很好的示例,其中将请求实例传递给客户端库以检查令牌是否有效和授权。