为什么要从Google App Engines导入urlfetch?

时间:2009-12-12 10:38:05

标签: python google-app-engine import urlfetch

Here in Google App Engines我得到的代码有助于通过网址获取任何网页的HTML代码:

from google.appengine.api import urlfetch
url = "http://www.google.com/"
result = urlfetch.fetch(url)
if result.status_code == 200:
doSomethingWithResult(result.content)

我不明白这里有一件事(事实上还有很多其他事情)为什么在这段代码中建议从google.appengine.api导入urlfecth? Python没有自己的命令吗?

2 个答案:

答案 0 :(得分:16)

Python具有用于获取URL的urllib和httplib等库,但在App Engine上,所有请求都必须通过自定义urlfetch库。 App Engine包含urllib和httplib的存根,导致它们在内部使用urlfetch,但是如果你有选择,直接使用urlfetch会更有效和灵活。

答案 1 :(得分:5)

google.appengine.api是一个包含Google版本的urlfetch类的库。引用from the manual

  

网址提取服务使用Google的   网络基础设施提高效率   和缩放目的。

Python在其标准库中也有url检索类,但是那些无法使用App Engine中可用的基础结构。

简而言之,google.appengine.api urlfetch功能更强大,但是你也没有阻止使用Pythons自己的urllib,这也在我上面链接的手册页中有描述。