8

在 Google App Engines 中,我得到了这段代码,它可以帮助通过 URL 获取任何网页的 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 本身没有这个命令吗?

4

2 回答 2

17

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

于 2009-12-12T14:59:32.347 回答
6

google.appengine.api 是一个包含 Google 版本的 urlfetch 类的库。引用手册

URL Fetch 服务使用 Google 的网络基础设施来提高效率和扩展性。

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

简而言之,google.appengine.api urlfetch 功能更强大,但是您使用 Python 自己的 urllib 也没有任何障碍,我在上面链接的手册页中也对此进行了描述。

于 2009-12-12T10:42:46.810 回答