程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP擴展CURL的用法詳解

PHP擴展CURL的用法詳解

編輯:關於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.jb51.net')

2.用curl_setopt()函數進行設置選項。

3.設置後,進行執行事務 curl_exec($curl);

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);
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved