我试图使用来自应用引擎的 urlfetch 请求 https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=[http://www.my-website.dk/]&key=[my-key] 但它是不工作。
当我访问它并将 my-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") 它不起作用,我也尝试过:
page_content = urlfetch.fetch(
url="https://www.googleapis.com/pagespeedonline/v1/runPagespeed",
payload=params,
method=urlfetch.GET
)
然后像这样在有效负载中提供参数:
params = urllib.urlencode({
"url": page.link,
"key": "[my-key]"
})
但结果是一样的,它不工作,服务给我 HTTP 状态代码 400。我也尝试添加 urlfetch.fetch(u("http://...", page.link) 但结果是一样的.
我根据 systempuntoout 的回复编辑了代码,以防任何人遇到同样的问题:
params = urllib.urlencode({
"url": page.link,
"key": "AIzaSyAFpm6W_OmjQl33JC98mAPkvrdGmrR0i4Y"
})
page_content = urlfetch.fetch("https://www.googleapis.com/pagespeedonline/v1/runPagespeed?%s" % params)