2
import os
import shelve
import urllib
import urlparse
import sys
import shelve
import oauth2 as oauth
import requests

api_key = 'xyz'
url = 'https://www.googleapis.com/freebase/v1/mqlread?query=hello&key=xyz'

resp, content = requests.request(url, "GET")
print resp

我只是在测试freebase api。当我运行这个基本脚本时,我收到了这个错误:requests.exceptions.MissingSchema: Invalid URL 'GET': No schema provided 为什么有什么原因?

4

2 回答 2

4

我相信您正在寻找的是:

>>> import requests
>>> url = 'https://www.googleapis.com/freebase/v1/mqlread?query=hello&key=xyz'
>>> requests.get(url)
<Response [400]>
>>>

请求文档

requests.request(方法,网址,**kwargs)

它返回 Response 对象的一个​​实例。

因此,您需要以正确的顺序给出参数。

>>> requests.request("GET",url)
<Response [400]>
>>>
于 2012-05-30T22:59:07.203 回答
1

您必须以正确的顺序放置参数:错误消息清楚地表明request()认为"GET"是 URL。此外,此调用返回单个Response对象,而不是单独的响应和内容对象,因此您无法将其解压缩为两个变量。

resp = requests.request("GET", url)

要不就:

resp = requests.get(url)

然后:

content = resp.content

您应该在此处requests查看该模块的文档。

于 2012-05-30T22:59:05.560 回答