在PHP中有多種進行HTTP請求的方法, 本文中介紹最經常使用的三種:php
1) 文件流的方式:file_get_contents , 這種方式是PHP自帶的。android
2)cURL方式: cURL是PHP的一個第三方庫 , 目前PHP4.0以上都自帶cURL lib.web
3) PECL_HTTP 擴展: 這是一個PECL的extension, 須要安裝才能使用數據庫
1. 文件流的方式: PHP的文件流自己就支持HTTP協議,所以咱們能夠象使用文件同樣來進行HTTP的操做
這種方式適合比較簡單的HTTP GET 或 POST請求, 但對於一些複雜的應用場景中的HTTP 請求仍是有些力不從心的。app
if (!isset($_GET["tx"])) { header("Location: http://www.cubebackup.com"); exit() ; } $post_array = array ( "cmd" => "_notify-synch", "tx" => $_GET["tx"], "at" => PDT_IDTOKEN ); $post_string = http_build_query($post_array); $opts = array( 'http' => array( 'method' => "POST", 'header' => "Content-Type: application/x-www-form-urlencoded", 'content'=> $post_string ) ); $context = stream_context_create($opts); $pdt_response = file_get_contents(PAYPALURL, false, $context); if ($pdt_response === FALSE) { header("Location: http://www.cubebackup.com"); exit(); } $response_array = preg_split("/\s+/" ,$pdt_response); $pdt_data = array(); if ($response_array[0] === "SUCCESS") { foreach ($response_array as $value) { $pdt_pair = explode('=', $value); if (isset($pdt_pair[1])) { $pdt_data[$pdt_pair[0]] = urldecode($pdt_pair[1]); } //這裏能夠對數據進行處理,好比寫入數據庫,或者顯示給用戶等。。 } } else { header("Location: http://www.cubebackup.com"); exit(); }