SWI-Prologを使おうとするとhttp_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秒間ハングしてから、「true」に戻ります。ルールがすぐに戻らないようにするために何が起こっていますか?
私もこのバリアントを試しましたが、ハングします:
:- 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
。