2017-06-28 15 views
0

curlのデフォルトのコンテンツタイプでは、出力の 'application/json'が変更されません。PHPのcurlヘッダーのデフォルトのコンテンツタイプが変更されない

$headers = array(); 
$headers[] = 'Accept: application/xml'; 
$headers[] = 'Content-Type: application/xml'; 
    $url = url('someurl here'); 
    $ch = curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $response=curl_exec($ch); 
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    curl_close($ch); 

出力:私は上記のコード内の任意のミスを

HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
Request-Time: 295 
Date: Wed, 28 Jun 2017 07:41:58 GMT 
Transfer-Encoding: chunked 
Connection: keep-alive 
Connection: Transfer-Encoding 

を行っていますか?私はXML形式でのみ出力が必要です。

答えて

0

間違いなしです。あなたが設定したContent-Typeヘッダはリクエストヘッダです。これは、サーバーに送信するコンテンツのタイプを定義します。 GETリクエストでは意味をなさないタイプです。

HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8 
... 

応答ヘッダーです。コンテンツの種類は、サーバーの応答の形式を示します。

おそらく、jsonではなくxmlデータを返すようにサーバーに指示するパラメータを渡していないことがあります。

関連する問題