0

REST API に yii エクステンションを使用していますが、ヘッダー情報に content-type を設定できません。

この YII 拡張を使用して

解決策を教えてください。

私のRESTファイルtest.phpコード:

<?php 
echo "In rest api";
print_r($_SERVER);
?>

Yii CURL から呼び出しました。

echo $output = Yii::app()->curl->setOption(CURLOPT_HTTPHEADER, array('CONTENT_TYPE:   application/json'))
->post("localhost/test.php");

次の出力が得られました。

HTTP/1.1 100 続行

HTTP/1.1 200 OK
Date: Wed, 13 Nov 2013 18:14:10 GMT
Server: Apache/2.2.21 (Win32) PHP/5.3.8
X-Powered-By: PHP/5.3.8
Content-Length: 311
Content-Type: text/html


In rest apiArray
(
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:5.0) Gecko/20110619   Firefox/5.0
[HTTP_HOST] => localhost
[HTTP_ACCEPT] => */*
[CONTENT_LENGTH] => 143
[HTTP_EXPECT] => 100-continue
[CONTENT_TYPE] => multipart/form-data; boundary=----------------------------f0f331e79d34
[PATH] => C:\Windows\system32;C:\Windows;C:\Windows\system32\Wbem;C:\Program Files\Dell\DW WLAN Card;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\cvsnt;
[SystemRoot] => C:\Windows
[COMSPEC] => C:\Windows\system32\cmd.exe
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
[WINDIR] => C:\Windows
[SERVER_SIGNATURE] => 
[SERVER_SOFTWARE] => Apache/2.2.21 (Win32) PHP/5.3.8
[SERVER_NAME] => localhost
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => C:/wamp/www/
[SERVER_ADMIN] => admin@localhost
[SCRIPT_FILENAME] => C:/wamp/www/testforget.php
[REMOTE_PORT] => 1287
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => POST
[QUERY_STRING] => 
[REQUEST_URI] => /testforget.php
[SCRIPT_NAME] => /testforget.php
[PHP_SELF] => /testforget.php
[REQUEST_TIME] => 1384365808

)

私は得た

[CONTENT_TYPE] => multipart/form-data;

なぜ content_type this を取得したのですが、リクエストで設定したように [CONTENT_TYPE] => application/json を取得する必要がありますか?

4

2 に答える 2

0

試す:

Yii::app()->curl
             ->setOption(CURLOPT_HTTPHEADER, array('Content-type: application/json'))
             ->post("localhost/testforget.php",$data);
于 2013-11-13T16:18:12.230 に答える