HTTP 调用问题


curl方式调用

  1. curl -X GET -"Content-Type: application/x-www-form-urlencoded" "https://api.omniexplorer.info/v1/transaction/tx/e0e3749f4855c341b5139cdcbb4c6b492fcc09c49021b8b15462872b4ba69d1b"


http方式调用说明

  1. GET /v1/transaction/tx/e0e3749f4855c341b5139cdcbb4c6b492fcc09c49021b8b15462872b4ba69d1b HTTP/1.1
  2. Host: api.omniexplorer.info
  3. Content-Type: application/x-www-form-urlencoded


返回结果:

  1.     {
  2.         "amount": "6167.00000000",
  3.         "block": 511660,
  4.         "blockhash": "0000000000000000003f37e72e599fbdaa14396a2e9251e493f0d7d15b1fd915",
  5.         "blocktime": 1520009505,
  6.         "confirmations": 7499,
  7.         "divisible": true,
  8.         "fee": "0.00009124",
  9.         "ismine": false,
  10.         "positioninblock": 825,
  11.         "propertyid": 31,
  12.         "propertyname": "TetherUS",
  13.         "referenceaddress": "3GyeFJmQynJWd8DeACm4cdEnZcckAtrfcN",
  14.         "sendingaddress": "3D4r9ERiM3HSc4eC4EhcT31tXoSV96HsPg",
  15.         "txid": "e0e3749f4855c341b5139cdcbb4c6b492fcc09c49021b8b15462872b4ba69d1b",
  16.         "type": "Simple Send",
  17.         "type_int": 0,
  18.         "valid": true,
  19.         "version": 0
  20.     }


使用JFinal HttpKit.get

  1. returnJson = HttpKit.get("
  2. https://api.omniexplorer.info/v1/transaction/tx/e0e3749f4855c341b5139cdcbb4c6b492fcc09c49021b8b15462872b4ba69d1b");


报错如下:

  1. java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
  2. at com.jfinal.kit.HttpKit.get(HttpKit.java:136)
  3. at com.jfinal.kit.HttpKit.get(HttpKit.java:150)
  4. at wallet.abcbtc.io.index.IndexController.text(IndexController.java:28)
  5. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  6. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  7. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  8. at java.lang.reflect.Method.invoke(Method.java:483)
  9. at com.jfinal.aop.Invocation.invoke(Invocation.java:74)

根据报错更换过local_policy.jar与US_export_policy.jar,但都没有效果。

正确的调用方式是如何?

评论区

JFinal

2019-05-27 12:34

使用 OkHttp 这类第三方 http 工具

http 工具可大可小,jfinal 内部提供的 HttpKit 仅用于 jfinal 自身的某个小功能的辅助,并不是一个功能全面的 http 工具

山东小木

2019-05-27 12:49

@JFinal 可以参考JFinal 微信SDK里的httputil的封装 就是用了okhttp

热门反馈

扫码入社