首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用引擎urlfetch问题

应用引擎urlfetch问题
EN

Stack Overflow用户
提问于 2011-09-09 00:49:04
回答 2查看 1.8K关注 0票数 0

我正在尝试使用应用程序引擎中的urlfetch请求[ https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=[http://www.my-website.dk/]&key=[my-key],但它不起作用。

当我访问它并将我的-url硬编码到请求中时,如下所示:https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=http://www.my-website.dk/&key=[my-key]它工作得很好,但当我使用urlfetch.fetch("https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=%s&key=[my-key]","http://www.my-website.dk")时,它不工作,我也尝试过:

代码语言:javascript
复制
page_content = urlfetch.fetch(
        url="https://www.googleapis.com/pagespeedonline/v1/runPagespeed",
        payload=params,
        method=urlfetch.GET
      )

然后像这样提供有效负载中的参数:

代码语言:javascript
复制
params = urllib.urlencode({
        "url": page.link,
        "key": "[my-key]"
      })

但结果是一样的,它不工作,并且服务给我HTTP状态代码400。我也尝试添加urlfetch.fetch(u("http://...",page.link) ),但结果是相同的。

我根据systempuntoout的回复编辑了代码,以防任何人遇到同样的问题:

代码语言:javascript
复制
params = urllib.urlencode({
        "url": page.link,
        "key": "AIzaSyAFpm6W_OmjQl33JC98mAPkvrdGmrR0i4Y"
      })

      page_content = urlfetch.fetch("https://www.googleapis.com/pagespeedonline/v1/runPagespeed?%s" % params)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-09 15:23:58

首先,urlfetch调用有一个错误,因为您向函数传递了两个参数。

您应该在两个字符串之间使用%,以便只将一个url参数传递给函数。

代码语言:javascript
复制
urlfetch.fetch("https://www.goo..e/v1/runPagespeed?url=%s&key=[my-key]" %
                                               "http://www.my-website.dk")

那么,你有没有尝试过urlencode第二个网址?

代码语言:javascript
复制
import urllib
your_url = {'url': 'http://www.my-website.dk/&key=[my-key]'}
urlfetch.fetch("https://www.g../v1/runPagespeed?%s" % urllib.urlencode(your_url))
票数 2
EN

Stack Overflow用户

发布于 2011-09-09 00:55:24

有效负载仅适用于POST/PUT请求。对于GET,参数必须是URL的一部分

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7351648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档