1

以下代码给出的错误是

HTTP/1.0 400 错误请求:请求行中的 HTTP 版本无效。行:GET /http/send-message?to=233445566&message=Some String

    $curl = curl_init();
     curl_setopt_array($curl, 
     array( CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_HEADER => 1,
            CURLOPT_TIMEOUT => 4,
            CURLOPT_VERBOSE => 1,
                    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                    CURLOPT_URL => 'http://GATEWAY:9710/http/send-message?to='.$mobileNumber.'&message='.$message

     ));

让我知道发生了什么事?

4

1 回答 1

1

这不是 cURL,这就是 HTTP 的工作方式——URL 的域部分在Host:标头中传递,而不是在请求中传递。请求本身从/域之后的第一个开始。

您返回的错误似乎是由于您明确设置了 HTTP 1.1,并且服务器是 1.0 服务器。

编辑:看起来你的问题在上面的评论中得到了解决。通常,对要放入 URL 的内容进行 urlencoding 很有用。:)

于 2013-01-21T06:51:04.880 回答