是否可以在 Java 或 JavaScript 中发出 HTTP (POST) 请求而无需等待响应

Posted

技术标签:

【中文标题】是否可以在 Java 或 JavaScript 中发出 HTTP (POST) 请求而无需等待响应【英文标题】:Is it possible to make a HTTP (POST) request without waiting for a response, in either Java or JavaScript 【发布时间】:2019-03-10 08:20:15 【问题描述】:

我需要创建一个 http post 请求,而无需等待 Java 或 javascript 的响应。异步 http 调用不是我想要的,因为它仍在等待响应,只是在一个单独的线程上。

【问题讨论】:

仅仅省略一个load 监听器 (XMLHttpRequest) 或一个.then (Fetch) 还不够吗? “因为它仍在等待响应”。无论您使用什么,都必须等待 HTTP 响应。 看看这个***.com/q/8612364/9727047 【参考方案1】:

看来这篇文章可能对您有所帮助。

根据您使用的客户端,您应该能够只调用 post 方法()。我可能是错的,但我相信添加 .then() 是使它异步的原因。

Sending HTTP POST Request In Java

【讨论】:

【参考方案2】:

是的,如果您创建自己的连接,可以发送您需要的任何内容,然后终止连接。来自Java - sending HTTP parameters via POST method easily 的 Alan Geleynse 的回答就是这样做的。

【讨论】:

【参考方案3】:

是的,有可能, 我之前在使用 laravel 时已经完成了,我需要大量的 webhook 发送给商家。在我写登录等待响应之前,但它需要更多时间然后我谷歌并找到解决方案。 这是一个例子。

function postCurlRequest(string $url, array $post_array, $check_ssl=true) 
    // $url = 'https://post_url.com';
    $cmd = "curl -L -X POST -H 'Content-Type: application/json'";
    $cmd.= " -d '" . json_encode($post_array) . "' '" . $url . "'";

    if (!$check_ssl)
      $cmd.= "'  --insecure"; // this can speed things up, though it's not secure
    
    $cmd .= " > /dev/null 2>&1 &"; // don't wait for response

    // echo $cmd;die;

    exec($cmd, $output, $exit);
   return $exit == 0;

【讨论】:

以上是关于是否可以在 Java 或 JavaScript 中发出 HTTP (POST) 请求而无需等待响应的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Javascript 中使用 OpenCV 或类似库? [关闭]

后台 Javascript 或 Cordova 应用程序中的计时器任务

是否可以通过 CSS 或 JavaScript 抑制 Android 浏览器上的“长按”(又名“长按”)弹出对话框

是否可以在 Mobile Safari 中使用 Javascript 在输入或文本区域上调用键盘?

是否可以直接在javascript中调用Pubsub的订阅拉取而不是调用java方法来获取数据?

如何编写按字母顺序组织数据的 Java 或 Javascript 程序?