我正在尝试编写一些代码来从涟漪API(https://ripple.com/wiki/JSON_Messages)中检索我的帐户状态。我目前使用的代码:
#require "netclient";;
open Http_client.Convenience;;
let account_info =
[
("command","account_info");
("account","my_account_key")
]
;;
let response = http_post_message "http://s1.ripple.com:51234" account_info;;
我将请求发送给http://s1.ripple.com:51234,我收到错误请求错误。注意:我已尝试将方法和命令作为参数以及http_post和http_post_message方法。
# response#status;;
- : Http_client.status = `Client_error
# response#response_status;;
- : Nethttp.http_status = `Bad_request
我必须对我申请数据的方式做出根本性的错误,但我没有足够的经验来解决这个问题,知道我哪里出错了。我想也许我应该使用Http_client.post_raw方法,但是我的顶层无法识别这种方法。我不知道如何纠正我的错误。
# Http_client.post_raw;;
Error: Unbound value Http_client.post_raw
提前致谢。
答案 0 :(得分:2)
首先使用HTTP API,最重要的是使用curl命令行实用程序测试API。获得预期的响应后 - 实现代码以使用相同的标头发送相同的请求。请查看curl -v
以及http库的调试工具。
答案 1 :(得分:1)
您的服务器可能有问题:
$ curl -v http://s1.ripple.com:51234/
* About to connect() to s1.ripple.com port 51234 (#0)
* Trying 54.200.86.207...
* Adding handle: conn: 0x7f92a1808c00
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7f92a1808c00) send_pipe: 1, recv_pipe: 0
* Connected to s1.ripple.com (54.200.86.207) port 51234 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.32.0
> Host: s1.ripple.com:51234
> Accept: */*
>
* Empty reply from server
* Connection #0 to host s1.ripple.com left intact
curl: (52) Empty reply from server
我经常使用OcamlNet,如果我可以建议你:在之前用终端测试你的网址。