PHP CURL Content-Type не установлен

У меня есть простой веб-сервис, с которым я бы хотел связаться. Чтобы опубликовать некоторый XML , который будет правильно протестирован на стороне веб-службы, мне нужно подготовить правильный запрос. Для этого я использую cURL :

 try { $ch = curl_init(); if (FALSE === $ch) throw new Exception('failed to initialize'); curl_setopt($ch, CURLOPT_URL,"192.168.1.37"); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/xml', 'Connection: Keep-Alive' )); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($ch, CURLOPT_PROXY, ''); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER,array("Expect: ")); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS,$xml); $request= curl_getinfo($ch); var_dump($request); $content = curl_exec($ch); if (FALSE === $content) throw new Exception(curl_error($ch), curl_errno($ch)); } catch(Exception $e) { trigger_error(sprintf( 'Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()),E_USER_ERROR); } 

Все должно быть хорошо. Сначала я показываю тело запроса из curl_getinfo($ch); и затем я показываю ответ от переменной $content .

Единственным ограничением для отправки запроса на сервер является заголовок Content-Type – он ДОЛЖЕН быть application/xml иначе сервер ответит с ошибкой (это не моя идея, и я ничего не могу с этим поделать)

Вот запрос на выход:

array(21) { ["url"]=> string(68) "192.168.1.37" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(0) ["filetime"]=> int(0) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0) ["namelookup_time"]=> float(0) ["connect_time"]=> float(0) ["pretransfer_time"]=> float(0) ["size_upload"]=> float(0) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(-1) ["starttransfer_time"]=> float(0) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } }

и ответ HTTP 400 Bad Request

Я вижу, что это ["content_type"]=> NULL но я установил эту переменную в свой PHP-код …

Может ли кто-нибудь сказать мне, что мне не хватает?

Solutions Collecting From Web of "PHP CURL Content-Type не установлен"