使用PhishTank api檢測釣魚網站,提示You must supply a URL to use this function

解決方法:

http://checkurl.phishtank.com/checkurl/  將http換成https即可,就這樣簡單,就這樣坑

PhishTank官方文檔地址 https://www.phishtank.com/index.php

簡單介紹一下PhishTank,PhishTank是一個檢測釣魚網站的免費api,它運作方式就是,收集世界各地的人提交可疑的釣魚網站,形成一個釣魚網站的數據庫,來驗證其他用戶的提交的網站。

集成到實際開發中也容易,官方提供的做法(有坑)https://www.phishtank.com/api_info.php 由於每天訪問的次數有限,如果想投入實際產品中,需要註冊賬號,並獲得相應key。

以下就來記錄我的心酸填坑之旅:

有一天,從產品那裏得到一個鏈接,說是一個api文檔,說產品需要接入這個東西。我按照文檔上說的做法進行開發。我先在Postman測試接口,發現接口竟然返回

意思是,您必須提供URL才能使用此功能。我第一反應是,難道請求的不是這條鏈接,有特殊的鏈接,於是我翻遍整個文檔就發現了只有一條鏈接

而且文檔寫的也十分簡單,沒有多餘的東西。我就想,這個api用的人應該也不少吧,上谷歌瞧瞧。於是乎google一下,發現僅有一條有用的搜索結果,它提供的解決方式是使用這條鏈接去請求 https://checkurl.phishtank.com/checkurl/index.php?url=http://www.baidu.com 我試了一下,成功了

格外驚喜,又一個問題來了,我想得到的是一個json的返回,文檔中說了,提供了三種返回方式xml、json和php。但是,我一頓操作返回的都是xml,萬般無奈,返回xml就xml,反正我也是可以解析的(說明一下,我在android中接入,用的是java)。到這裏,我覺得問題應該是解決了,就是解決的有點麻煩,我使用HttpURLConnection去鏈接,卻發現返回的io流爲null,什麼我明明用瀏覽器打開是可以的,我十分不解,我用Fiddler去抓包,發現這個鏈接原來重定向了

原來重定向到 https://checkurl.phishtank.com/checkurl/index.phpl?url=http://www.baidu.com (捂臉),知道問題就好了解決了。

之後在查看fiddler其他記錄中發現,有關於PhinkTank的所有鏈接都是http都是重定向成https,一想,難道api中那個請求鏈接不會也應該是https

果真一試,真的是

坑爹啊,氣的我連忙來寫一篇博客記錄這個坑。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章