您現在的位置: 网站首頁 / 空間服務器 / 正文

PHP擴展CURL的用法詳解

作者: admin 发布: 2015-6-19 9:22:40 分类: 空間服務器 閱讀: 次 查看評論

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

  ?>

  來源:SEO搜尋引擎優化 - SEO自學網 轉載注明出處!

? 上一篇下一篇 ?   本文關鍵詞: PHP  

評論列表:

站長SEO學院
第一節:百度搜索引擎工作原理
第二節:建設對搜索引擎友好的站點
第三節:如何進行網站內容建設
第四節:整體優化、結構優化、網頁優化
第五節:移動搜索-明確移動搜索優化標准
百度SEO資料文檔
百度搜索引擎優化指南2.0
百度移動搜索優化指南2.0
網站分析白皮書(站長版)
移動站點該如何優化
建設對百度友好的站點
百度搜索引擎網頁質量白皮書
石榴算法-綠蘿算法-冰桶算法
新搜索時代下的優化策略
更多百度SEO資料文檔
站長推薦
DIV+CSS布局實例教程-Web標准
网站SEO優化常见问题汇总
SEO優化推广方案该如何写
SEO優化方案步骤
影響網站關鍵詞排名因素總結
影響谷歌搜索引擎排名的因素調查
手機移動端站點適配優化
最近發表