php傳送http請求,獲取網頁內容方法

2021-10-14 16:35:53 字數 2528 閱讀 4679

php傳送http請求,獲取網頁內容方法:curl、file_get_contents()、fopen()

區別:1. 相較於file_get_contents()、fopen(),curl支援更多功能

curl支援更多協議,目前支援http、https、ftp、gopher、telnet、dict、file、idap協議,同時也支援https認證、http post、http put、ftp上傳(這個也能通過php的ftp擴充套件完成)、http基於表單的上傳、**、cookies和使用者名稱+密碼的認證。php中使用curl實現get和post請求的方法。

2. 相較於file_get_contents()、fopen(),curl效能更高

curl效能更高的原因在於:file_get_contents()、fopen()每次請求都會重新做dns查詢,並不會對dns資訊進行快取;curl會自動對dns資訊進行快取,同一網域名稱下的網頁或的請求只需要一次dns查詢,大大減少對dns查詢的次數。

3. get請求時,相較於curl,file_get_contents()、fopen()設定更簡單,**量少,file_get_contents()**量最少

file_get_contents()、fopen()預設使用get請求方式,如果需要使用post方式,可以使用stream_context_create()進行設定。

4. file_get_contents()、fopen()常用於讀取檔案內容

file_get_contents()把整個檔案讀入到乙個字串中,把檔案內容讀入到乙個字串中的首選方法。fopen()是開啟檔案,可設定不同的開啟規則,然後對檔案進行讀取等操作

一般情況下,常使用curl傳送http請求,對於效能要求不高,簡單的get請求,使用file_get_contents()、fopen()就更為簡潔、**量少。

一、curl使用示例

<?php

//請求引數

$params

=array

('aa'

=>

'123'

,'bb'

=>

'456');

//初始化curl

$ch=

curl_init()

;//設定相應的會話選項

curl_setopt

($ch

,curlopt_url

,"");

//設定curl位址

curl_setopt

($ch

,curlopt_post,1

);//設定curl傳送方式

curl_setopt

($ch

,curlopt_postfields

,$params);

//設定curl傳送資料

curl_setopt

($ch

,curlopt_returntransfer,1

);//設定提交成功後,把資料返回為字串

//執行傳送

$output

=curl_exec

($ch);

//關閉curl資源,並且釋放系統資源

curl_close

($ch);

echo

$output

;?>

二、file_get_contents()使用示例

get請求:

<?php

$fh=

file_get_contents

('');

echo

$fh;

?>

post請求,需用stream_context_create()進行設定:

<?php

//請求引數

$params

=array

('aa'

=>

'123』,

'bb' => '

456'

);//將引數陣列拼接成字串

'timeout' => 60 //超時時間(單位:s)

;?>

三、fopen()使用示例
<?php

$fh=

fopen

('','r');

if($fh)

}?>

PHP 傳送HTTP請求

file get contents版本 傳送post請求 param string url 請求位址 param array post data post鍵值對資料 return string function send post url,post data 使用如下 post data array...

C 請求http向網頁傳送資料,網頁接收

首先,我們需要的是什麼東西?用post方式請求http,給網頁傳輸資料,網頁接收到資料之後,把資料儲存到資料庫中。1.首先請求http,建立連線,把轉碼過的資料傳輸過去 2.網頁接收資料,在轉碼之後儲存到資料庫 3.網頁返回乙個東西給傳輸方,表示我們已經接收到資料了 同樣,我們請求http也是用的控...

php獲取http請求原文

可以從超級變數 server中獲得,三個變數的值如下 server request method server request uri server server protocol r n php有個內建函式getallheader 是apache request headers 函式的乙個別名,可...