2

在这里找到如何调用 Phishtank API 真的很痛苦。经过大量搜索,我能够找到如何调用 API。下面是一个示例调用,

https://checkurl.phishtank.com/checkurl/index.php?url=http://auto.smtpsystems.net/&format=json

但上述调用的问题在于它以 XML 格式给出响应,而我想要 JSON 格式的响应。

任何形式的帮助将不胜感激。

4

4 回答 4

1

问题是您正在发出 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
})
于 2018-05-31T10:14:54.767 回答
0

您必须在 POST 请求的正文中指定 url、格式和 app_key。

于 2018-12-20T01:09:58.410 回答
0

我试图在 Retrofit 的帮助下在我的 android 应用程序中实现他们的 API。他们的文档已经过时了。花了3个小时后,我知道了一些事情。

  1. 使用此 URL https://checkurl.phishtank.com/checkurl/(请勿将 URL 与http://一起使用)
  2. 使用以下接口进行改造 GET 请求。它不适用于@Query,它需要@FormUrlEncoded
      @FormUrlEncoded
      @GET("https://checkurl.phishtank.com/checkurl/")
      fun findPhishing(
                @Field("format") format: String,
                @Field("url") url: String
      ): Single<Response>
于 2020-09-18T14:06:52.537 回答
0

确保使用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"})
于 2022-02-04T07:31:52.197 回答