2011-10-28 8 views
0

私は私がデータベースに見たときに掲載されそれが掲載されてHTTPPOST、stream_context_createを経由して応答を送信しないDELETE()/のfopen()

 $opts = array (
       'http' => array (
        'method' => "POST", 
        'header' => $auth , 
        // . "Content-Type: " . $content_type . "\r\n" 
        // . "Content-length: " . strlen($data) . "\r\n", 
        'user_agent' => RESTClient :: USER_AGENT, 
        'content' => $data      
       ) 
     ); 
     $context = stream_context_create($opts); 
     $fp = fopen($url, 'r', false, $context); 
     $result = ""; 
     while ($str = fread($fp,1024)) { 
      $result .= $str; 
     } 
     fclose($fp); 


    Return $result; 

を介してデータをポストするために使用し、次のコードを持っていますデータが入力されましたが、私のコードは応答を返すべきです。私はcURLを使用していても、この方法では応答しません。何か不足していますか?理由は不足しているコンテンツタイプの警告/通知を除き

答えて

0

この

<?php 
class RESTClient { 
    const USER_AGENT='Mozilla'; 
} 
$url = 'http://social.msdn.microsoft.com/Search/en-US/'; 
$data = 'query=test&ac=3'; 
$auth = ''; 

// <-- unaltered code 
$opts = array (
    'http' => array (
     'method' => "POST", 
     'header' => $auth , 
     // . "Content-Type: " . $content_type . "\r\n" 
     // . "Content-length: " . strlen($data) . "\r\n", 
     'user_agent' => RESTClient :: USER_AGENT, 
     'content' => $data 
    ) 
); 
$context = stream_context_create($opts); 
$fp = fopen($url, 'r', false, $context); 
$result = ""; 
while ($str = fread($fp,1024)) { 
    $result .= $str; 
} 
fclose($fp); 
// unaltered code --> 
echo $result; 

私のために正常に動作します。
このコードスニペットは、システム上で説明した動作を生成しますか?


ところで:の代わりに、関数fopen//関数fread/fcloseをしながら、あなたもfile_get_contentsを使用することができます。

+0

私はDELETEメソッドを使用しています。送信するデータやコンテンツタイプはありませんが、デルテが成功したかどうかはまだわかりませんが、私はまだ回答を得なければなりません。 – LeeTee

関連する問題