2

我面临的问题很难调试,因为它在堆栈跟踪中没有提供太多解释。我要做的是使用提供给我的密钥和秘密来检索 oAuth 令牌。使用邮递员时,它工作得很好,这意味着问题不能是外部的。当我在 Clojure 中尝试它时,它失败了。

请参阅下面的示例代码。

(let [options {:keepalive 10000
               :timeout 10000                 
               :query-params {:grant_type "client_credentials"}
               :headers {"Authorization" (str "Basic "  (-> (str (:key config/oAuth) ":" (:secret config/oAuth)) .getBytes b64/encode String. ))}
               }]             
  @(http/get "https://my-path.com/oauth/v1/generate" options))

我得到的结果是

    1. Unhandled java.io.IOException
   An existing connection was forcibly closed by the remote host
     SocketDispatcher.java:   -2  sun.nio.ch.SocketDispatcher/read0
     SocketDispatcher.java:   43  sun.nio.ch.SocketDispatcher/read
               IOUtil.java:  223  sun.nio.ch.IOUtil/readIntoNativeBuffer
               IOUtil.java:  197  sun.nio.ch.IOUtil/read
    SocketChannelImpl.java:  379  sun.nio.ch.SocketChannelImpl/read
         HttpsRequest.java:   93  org.httpkit.client.HttpsRequest/doHandshake
           HttpClient.java:  133  org.httpkit.client.HttpClient/doRead
           HttpClient.java:  377  org.httpkit.client.HttpClient/run
               Thread.java:  745  java.lang.Thread/run
IOException java.io.IOException: An existing connection was forcibly closed by the remote host

下面是 curl 请求示例生成

curl -X GET 'https://my-path.com/oauth/v1/generate' -H 'authorization: Basic Nasjdbajksdkasjdkey:secret==' -H 'cache-control: no-cache' -H 'postman-token: f2af6f4a-f197-20df-f9be-a5a9a7525e57'

我显然改变了任何敏感信息。现在奇怪的是,当我运行该 curl 请求时,尽管邮递员返回了预期的结果,但它仍然不起作用。请参阅下面的卷曲错误

* Adding handle: conn: 0x1328a58
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x1328a58) send_pipe: 1, recv_pipe: 0
* About to connect() to my-path.com port 443 (#0)
*   Trying xxx.xxx.xxx.xxx...
* Connected to my-path.com (xxx.xxx.xxx.xxx) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: E:\Git\bin\curl-ca-bundle.crt
  CApath: none
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to my-path.com:443
* Closing connection 0
curl: (35) Unknown SSL protocol error in connection to my-path.com:443

为什么它适用于邮递员,但不适用于邮递员生成的确切 curl 请求?

为什么它不适用于我的 Clojure 应用程序,任何帮助将不胜感激。

4

0 回答 0