首頁 >後端開發 >php教程 >PHP如何擴充CURL

PHP如何擴充CURL

小云云
小云云原創
2018-03-27 11:21:122441瀏覽

CURL是利用URL語法愛命令列方式下工作的檔案傳輸工具。它支援很多協議。它支援認證功能。 php中常用都實現更複雜的傳輸功能。

實現的功能:

#1、實現遠端取得與擷取內容

2、實作PHP 網頁版的FTP上傳下載

#3、實作模擬登陸:去一個郵件系統,curl可以模擬cookies

4、實現介面對接(API),資料傳輸等:透過一個平台發送簡訊啊,抓取和傳遞所傳輸的資訊。

5、實作模擬Cookie等:登陸的狀態下才可以操作一些屬性。

如何使用CURL功能

預設加PHP是不支援CURL的,需要在php.ini開啟此功能

;extension =php_curl.dll前面的分號去掉

1  整個操作過程中第一步是用cur_init()函數初始化

##?

$curl = curl_init(‘www.php.cn')

3.設定後,進行執行交易curl_exec($curl);2.用curl_setopt()函式進行設定選項。


4 最後關閉curl_close();

使用PHP CURL實現傳輸與取得功能(post傳輸方式):取得遠端網頁資料

$user = "admin";
$pass = "admin";
$curlPost= "user=$user&pass=$pass";
$ch = curl_init(); //初始化一个CURL对象
curl_setopt($ch, CURLOPT_URL,"http://localhost/edu/login.php");
//设置你所需要抓取的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中
假设上面的0换成1的话,那么接下来的$data就需要echo一下。
curl_setopt($ch, CURLOPT_POST, 1);
//post提交
curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
$data = curl_exec($ch);
//运行curl,请求网页。
curl_close($ch);
[/code]

實現遠端模擬登陸最基礎部分。

curl也還是需要設定使用者名稱和密碼的,只不過是被瀏覽器隱藏了。

============================================== ================================\

curl模擬登陸

模擬登陸:就是不登陸到php100的論壇,也能查看到對應的資訊。

分析登陸欄位--->登陸後保留cookie狀-->讀取cookie並跳到相關頁面-->抓取數

1、模擬登陸後建立一個檔案儲存cookie內容

2、透過讀取產生的cookie內容模擬使用者登陸狀態

3、到相關頁面取得所需內容

tempname建立一個臨時檔案

tempnam() 函數建立一個具有唯一檔案名稱的暫存檔案。 若成功,則函數傳回新的臨時檔案名稱。若失敗,則傳回 false。

tempnam(dir,prefix)

參數 描述

dir 必要。規定建立臨時檔案的目錄。

prefix 必需。規定文件名的開頭。

相當於,fopen  fwirte  fclose

它可以傳回一個布林值。使用第三方來登陸你的QQ、msn是很危險的,因為它可以記錄你的登入狀態,抓取你的使用者名稱和密碼。

使用CURL模擬登陸到PHP100論壇

1、分析登陸所需input框字段名和所需字段數量

2、保存cookie 模擬登陸後獲取會員金幣數量

程式碼:

//初始化一个 cURL 对象
$curl = curl_init();
//设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL," http://www.baidu.com ");
//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
//运行cURL,请求网页
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
$user = "admin";
$pass = "admin100";
$curlPost= "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL," http://localhost/curl/login.php ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
$data = curl_exec($ch);
curl_close($ch);
?>
if($_POST['user']=="admin"){
 echo"";
}else{
 echo"";
}
//print_r($_POST);
?>

相關推薦:

##PHP擴充CURL的用法詳解

以上是PHP如何擴充CURL的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn