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

时间:2018-10-04 21:12:39

标签: javascript java jquery spring asynchronous

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

3 个答案:

答案 0 :(得分:0)

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

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

Sending HTTP POST Request In Java

答案 1 :(得分:0)

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

答案 2 :(得分:0)

是的,有可能,
我之前在使用 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;
}