/ / Dlaczego CURL wybiera połowę adresu URL do żądania? - php, curl

Dlaczego CURL wybiera połowę adresu URL dla zapytania? - php, curl

Wystąpił błąd następujący kod

Nieprawidłowe żądanie HTTP / 1.0 400: nieprawidłowa wersja HTTP w wierszu żądania. Wiersz: 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

));

Daj mi znać, co się dzieje?

Odpowiedzi:

1 dla odpowiedzi № 1

To nie jest cURL, tak działa HTTP - część domeny adresu URL jest przekazywana w pliku Host: nagłówek, a nie żądanie. Samo żądanie rozpoczyna się od pierwszego / po domenie.

Błąd, który otrzymujesz, wydaje się wynikać z faktu, że jawnie ustawiasz HTTP 1.1, a serwer jest serwerem 1.0.

Edytować: Wygląda na to, że problem został rozwiązany w powyższych komentarzach. Ogólnie rzecz biorąc, przydatne jest urlencoding rzeczy, które zamierzasz umieścić w adresie URL. :)