在这里找到如何调用 Phishtank API 真的很痛苦。经过大量搜索,我能够找到如何调用 API。下面是一个示例调用,
https://checkurl.phishtank.com/checkurl/index.php?url=http://auto.smtpsystems.net/&format=json
但上述调用的问题在于它以 XML 格式给出响应,而我想要 JSON 格式的响应。
任何形式的帮助将不胜感激。
在这里找到如何调用 Phishtank API 真的很痛苦。经过大量搜索,我能够找到如何调用 API。下面是一个示例调用,
https://checkurl.phishtank.com/checkurl/index.php?url=http://auto.smtpsystems.net/&format=json
但上述调用的问题在于它以 XML 格式给出响应,而我想要 JSON 格式的响应。
任何形式的帮助将不胜感激。
问题是您正在发出 HTTP GET 请求。这个方法接受一个 HTTP POST 请求
//Custom your request
var requestOptions = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
url: "https://checkurl.phishtank.com/checkurl/",
method: 'POST',
json: true,
body: {
url: The URL to check(urlencoded or base64 encoded),
format: 'json',
app_key: Your application key
},
};
//Do the request
request.post(requestOptions, function callback(err, httpResponse, json) {
//Here you json
})
您必须在 POST 请求的正文中指定 url、格式和 app_key。
我试图在 Retrofit 的帮助下在我的 android 应用程序中实现他们的 API。他们的文档已经过时了。花了3个小时后,我知道了一些事情。
@FormUrlEncoded
@GET("https://checkurl.phishtank.com/checkurl/")
fun findPhishing(
@Field("format") format: String,
@Field("url") url: String
): Single<Response>
确保使用https
而不是http
在端点 url 中,尽管在文档 http
中给出了(在撰写本文时)。不使用HTTP POST
请求HTTP GET
。
并且format
在引号中(双重首选)
# Python implementation
endpoint = "https://checkurl.phishtank.com/checkurl/"
url = "http://www.travelswitchfly.com/"
response = requests.post(endpoint, data={"url": url, "format": "json"})