我正在构建一个Android应用程序,允许人们扫描QR码并打开其内容(如果是URL)。但在开放之前,我想检查它是否是一个安全的URL。我查看了Google安全浏览API,结果发现我需要下载并保存恶意软件和受感染的网址列表,这对Android客户端来说是不可能的。
http://www.google.com/safebrowsing/diagnostic?site=还有另一种方法,但这有两个缺点:
1.它不适用于完整的URL或URL参数:
工作:http://www.google.com/safebrowsing/diagnostic?site=http://example.com
不工作:http://www.google.com/safebrowsing/diagnostic?site=http://example.com/abc/def?ghi=opq
2.它会打开一个网页,告诉我们网址是否安全,但我更希望它返回HTTP状态代码:如201 - >安全,202 - >是不安全的(这更容易处理)。
第一个缺点不是问题,但第二个问题真的很烦人。谁能告诉我另一种方式?真的,谢谢。
答案 0 :(得分:1)
有一个API可以解决您的所有问题:http://code.google.com/apis/safebrowsing/
这是一个Java客户端实现:http://code.google.com/p/jgooglesafebrowsing/
答案 1 :(得分:0)
我建议的一件事是有一个服务器端实现并暴露了Rest api。您的Android应用程序可以充当相同的客户端
答案 2 :(得分:0)
您需要urlencode
您的网址,因为您的网址中不能同时包含两个?
个字符。
因此,您的网址应如下所示:
https://transparencyreport.google.com/safe-browsing/search?url=http:%2F%2Fexample.com%2Fabc%2Fdef%3Fghi%3Dopq
在Java中,您可以使用URLEncoder.encode()
。