当我尝试使用 SWI-Prologhttp_post/4
时,如下所示:
:- use_module(library(http/http_client).
update(URL, Arg) :-
http_post(URL, form([update = Arg), _, [status_code(204)]).
当我查询此规则并观察 TCP 流量时,我看到 HTTP POST 请求和回复预期的 204 状态代码都立即发生。但是,Prolog 在返回“真”之前会挂起最多 30 秒。发生了什么阻止规则立即返回?
我也试过这个变种,但它也挂起:
:- use_module(library(http/http_client).
update(URL, Arg) :-
http_post(URL, form([update = Arg), Reply, [status_code(204)]),
close(Reply).
我有类似的问题,http_delete/3
但没有。http_get/3