PHP 傳送GET 和 POST資料的方法分析

johnchou發表於2021-09-09

一、使用GET方法

// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: enrn"
  )
);
$context = stream_context_create($opts);
$file = file_get_contents('', false, $context);
?>

如果要提交引數,務必使用:http_build_query方法,如:

$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

$querystr = http_build_query($data);
?>


二、使用POST方法

$data = array ('foo' => 'bar''bar' => 'baz');
$data http_build_query($data);

$context_options = array (
        
'http' => array (
            
'method' => 'POST',
            
'header'=> "Content-type: application/x-www-form-urlencodedrn"
                
"Content-Length: " strlen($data) . "rn",
            
'content' => $data
            
)
        );

$context context_create_stream($context_options)
$fp fopen('''r'false$context);
?>


三、重點提示

http_build_query會對引數值進行urlencode,接收端的$_GET或$_REQUEST會自動進行urldecode;

如果傳送請求時沒有進行或者只對部分引數進行urlencode,接收程式碼$_REQUEST可能不會進行自動urldecode解碼。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2809093/,如需轉載,請註明出處,否則將追究法律責任。

相關文章