URL“GET”无效:在Python中调用freebase api时没有提供架构错误。

2024-05-15 16:54:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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:无效的URL“GET”:未提供架构 有什么原因吗?


Tags: keyimportapiurlgetossysurllib
2条回答

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

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

或者只是:

resp = requests.get(url)

然后:

content = resp.content

您应该查看requests模块here的文档。

我相信你要找的是:

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

Requests文档

requests.request(method, url, **kwargs)

It return an instance of the Response object.

所以,你需要按照正确的顺序给出论点。

>>> requests.request("GET",url)
<Response [400]>
>>>

相关问题 更多 >