0

私はAPI(公式と非公式の両方)をいじるのが初めてで、 JavaSnapと呼ばれるものを使用しています。サンプルコードの非常に基本的な実装をいじっていましたが、エラーが発生しています。非常に基本的なコードは次のとおりです。

Snapchat snapchat = Snapchat.login("xxxx", "xxxxx");

まず、大量の ClassNotFound エラーに遭遇し、プログラムを進行させるために Apache モジュール (commons、httpcomponents など) をダウンロードし続けなければなりませんでしたが、クラス ファイルであるため、ダウンロードする必要のあるモジュールを一度にすべて見ることができませんでした。 . だから、誰かが私が何かをしていることがどれほど間違っているかを教えてくれたら、遠慮なく言ってください。

とにかく、すべての ClassNotFound 例外をクリアしたので (願っています)、次の例外が発生しています。

com.mashape.unirest.http.exceptions.UnirestException: javax.net.ssl.SSLPeerUnverifiedException: Host name 'feelinsonice-hrd.appspot.com' does not match the certificate subject provided by the peer (CN=*.appspot.com, O=Google Inc, L=Mountain View, ST=California, C=US)
    at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:146)
    at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68)
    at com.habosa.javasnap.Snapchat.requestJson(Snapchat.java:953)
    at com.habosa.javasnap.Snapchat.login(Snapchat.java:160)
    at Tester.go(Tester.java:21)

私が理解しているように、これはすべての証明書の信頼を有効にする必要があるためですが、これを行うには SSLSocketFactorys で HostNameVerifiers を使用する必要があると思いますが、ソースしか持っていないので、これをいじり始めることはできませんJavaSnap API の場合、スタックのエラーをトレースして、私が編集できる最新のメソッドは次のとおりです。

private static HttpResponse<JsonNode> requestJson(String path, Map<String, Object> params, File file) throws UnirestException {
        MultipartBody req = prepareRequest(path, params, file);

        // Execute and return response as JSON
        HttpResponse<JsonNode> resp = req.asJson();

        // Record
        lastRequestPath = path;
        lastResponse = resp;
        lastResponseBodyClass = JsonNode.class;

        return resp;

私の質問は、私は自分の考えで実際に正しい線に乗っているかということです.
このエラーを排除する/証明書を信頼するという目標を達成するにはどうすればよいですか? そうでない場合、実際に問題は何ですか?

どうもありがとう

4

1 に答える 1