Python 谷歌安全浏览API:总是出错

Python 谷歌安全浏览API:总是出错,python,python-3.x,safe-browsing,Python,Python 3.x,Safe Browsing,我使用谷歌安全浏览API。所以我测试了这个简单的代码: from safebrowsinglookup import SafebrowsinglookupClient class TestMe: def testMe(self): self.key='my_Valid_Key_Here' self.client=SafebrowsinglookupClient(self.key) self.response=self.cl

我使用谷歌安全浏览API。所以我测试了这个简单的代码:

from safebrowsinglookup import SafebrowsinglookupClient

class TestMe:
    def testMe(self):
        self.key='my_Valid_Key_Here'        
        self.client=SafebrowsinglookupClient(self.key)
        self.response=self.client.lookup('http://www.google.com')
        print(self.response)

if __name__=="__main__":
    TM=TestMe()
    TM.testMe()
无论我测试的网站是什么,我都会得到:

{'website_I_trued','error'}

请注意,在安装此API后,我不得不更改源代码中的一些行,因为它是用Python 2编写的,我使用的是Python 3.4.1。我如何解决这个问题


更新:

为了理解我出现上述问题的原因,我运行以下代码:

from safebrowsinglookup import SafebrowsinglookupClient  

class TestMe:
    def testMe(self):
        self.key = 'my_key_here'        
        self.client=SafebrowsinglookupClient(self.key,debug=1)
        urls = ['http://www.google.com/','http://addonrock.ru/Debugger.js/']        
        self.results = self.client.lookup(*urls)
        print(self.results['http://www.google.com/'])

if __name__ == "__main__":
    TM=TestMe()
    TM.testMe()
现在,我得到了这个信息:

BODY:
2
http://www.google.com/
http://addonrock.ru/Debugger.js/


URL: https://sb-ssl.google.com/safebrowsing/api/lookup?client=python&apikey=ABQIAAAAAU6Oj8JFgQpt0AXtnVwBYxQYl9AeQCxMD6irIIDtWpux_GHGQQ&appver=0.1&pver=3.0
Unexpected server response

name 'urllib2' is not defined
error
error
不支持Python3.x

在这种情况下,您可以(还有一个用于Python3兼容性的示例),或者手动请求“googlesafebrowsingapi”

下面是一个示例,使用:


相同,但没有第三方软件包(使用):


第二种情况下出现
键错误
,因为
结果
是一个dict,而不是列表。它的键是您查找的网站,而您没有查找任何名为0或1的网站。在第一种情况下,根据您提供的信息,我们绝对无法判断发生了什么错误。将
debug=1
添加到SafebrosinglookupClient,它将打印出遇到的实际错误。请发布完整的错误消息,包括可能时对SO上所有问题的回溯。否则我们将无法帮助您。@user3479224是的,谢谢,这是第一个错误,我现在将尝试修复它,但我想我在另一个世界里仍然会有这个问题way@user3479224我更新了我的第二个短代码:我只得到
error
作为输出,这是因为你没有像我说的那样将
debug=1
添加到SafebrosinglookupClient构造函数中。@user3479224对不起,我照你说的做了,你现在可以看到我问题的全部错误。谢谢,谢谢。然而,我遇到了一个奇怪的错误:ImportError:没有名为requests的模块``即使我使用的是Python-3.4.1(!)@Begueradj
requests
是第三方,您也需要先安装它。好的,让我只用stdlib包来重写它。是的,Alexander,我的评论打扰了你,而在你的answser链接上,它说我必须安装它。所以我现在安装它,我会再次测试。Regards@Begueradj很高兴提供帮助,我只添加了标准库版本。
import requests

key = 'your key here'
URL = "https://sb-ssl.google.com/safebrowsing/api/lookup?client=api&apikey={key}&appver=1.0&pver=3.0&url={url}"


def is_safe(key, url):
    response = requests.get(URL.format(key=key, url=url))
    return response.text != 'malware'


print(is_safe(key, 'http://addonrock.ru/Debugger.js/'))  # prints False
print(is_safe(key, 'http://google.com'))  # prints True
from urllib.request import urlopen


key = 'your key here'
URL = "https://sb-ssl.google.com/safebrowsing/api/lookup?client=python&apikey={key}&appver=1.0&pver=3.0&url={url}"


def is_safe(key, url):
    response = urlopen(URL.format(key=key, url=url)).read().decode("utf8")
    return response != 'malware'


print(is_safe(key, 'http://addonrock.ru/Debugger.js/'))  # prints False
print(is_safe(key, 'http://google.com'))  # prints True