为什么CURL会为请求选择一半的URL?

时间:2013-01-21 06:47:31

标签: php curl

以下代码给出的错误是

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

     ));

让我知道发生了什么事?

1 个答案:

答案 0 :(得分:1)

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

您收到的错误似乎是由于您明确设置了HTTP 1.1,而服务器是1.0服务器。

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

相关问题