gpt4 book ai didi

https - 如何通过 HTTPS 从 Erlang 向 Cloudant 发出 GET 请求

转载 作者:行者123 更新时间:2023-12-02 04:09:37 25 4
gpt4 key购买 nike

一段时间以来,我一直对这个问题嗤之以鼻……我可以在本地计算机上获取并发布到 couchdb,但现在我想切换到需要通过 https 进行连接的 Cloudant。

我想了解发生了什么,所以现在更喜欢使用 httpc 或类似的东西,而不是,比如说 couchbeam,但我似乎无法穿透关于通过 SSL 连接的 Erlang 文档,并且任何示例都通过普通的 HTTP .. . Cloudant 似乎也没有任何特定于 Erlang 的文档。

我看过题目How do I do an HTTPS request with Erlang但给出的示例对我不起作用 - 我收到以下错误报告:

ฐ=ERROR REPORT==== 10-May-2011::10:40:26 ===
** Generic server <0.60.0> terminating
** Last message in was {connect_and_send,
{request,#Ref<0.0.0.50>,<0.31.0>,0,https,
{"playground.cloudant.com",443},
"/",[],get,
{http_request_h,undefined,"keep-alive",
undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined,
undefined,undefined,
"playground.cloudant.com",undefined,
undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined,[],
undefined,undefined,undefined,undefined,
"0",undefined,undefined,undefined,
undefined,undefined,undefined,[]},
{[],[]},
{http_options,"HTTP/1.1",infinity,true,
{ossl,[{verify,0}]},
undefined,false,infinity,false},
"https://playground.cloudant.com",[],none,[],
1305020425911,undefined,undefined}}
** When Server state == {state,undefined,undefined,undefined,undefined,
undefined,undefined,
{[],[]},
{[],[]},
undefined,[],nolimit,nolimit,
{options,
{undefined,[]},
0,2,5,120000,2,disabled,false,inet,default,
default,[]},
{timers,[],undefined},
httpc_manager,undefined}
** Reason for termination ==
** {{badmatch,{error,no_ssl_server}},
[{ssl,old_connect,4},
{httpc_handler,connect_and_send_first_request,3},
{httpc_handler,handle_call,3},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]}

和 Erlang shell 挂起......

这是我在 Erlang shell 中输入的代码:
Running Erlang

Eshell V5.8.3 (abort with ^G)

1> inets:start().

ok

2> ssl:start().

ok

3> httpc:request(head, {"https://playground.cloudant.com", []}, [{ssl,[{verify,0}]}], []).

对于第 3 行,我还尝试了以下操作:

3> httpc:request(head, {" https://playground.cloudant.com ", []}, [], []).

3> httpc:request(get, {" https://playground.cloudant.com ", []}, [{ssl,[{verify,0}]}], []).

3> httpc:request(get, {" https://playground.cloudant.com ", []}, [], []).

我可以连接到 https://playground.cloudant.com浏览器没问题。

我显然在这里遗漏了一些东西,但我一生都无法弄清楚是什么。我需要用 SSL 做什么?我应该坐在特定位置的任何配置文件?任何帮助都感激不尽!

最佳答案

尝试这个:

1> ssl:start().
ok
2> whereis(ssl_sup).
<0.42.0>
3> supervisor:start_child(ssl_sup, {ssl_server, {ssl_server, start_link, []}, permanent, 2000, worker, [ssl_server]}).
{ok,<0.48.0>}
4> whereis(ssl_server).
<0.48.0>

它可能会为您提供其他信息。你的序列对我来说是开箱即用的。

关于https - 如何通过 HTTPS 从 Erlang 向 Cloudant 发出 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5948246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com