亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php curl常用的經典例子

發布時間:2021-09-01 22:52:38 來源:億速云 閱讀:155 作者:chen 欄目:開發技術

這篇文章主要介紹“php curl常用的經典例子”,在日常操作中,相信很多人在php curl常用的經典例子問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php curl常用的經典例子”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

我用php ,curl主要是抓取數據,當然我們可以用其他的方法來抓取,比如fsockopen,file_get_contents等。但是只能抓那些能直接訪問的頁面,如果要抓取有頁面訪問控制的頁面,或者是登錄以后的頁面就比較困難了。

1,抓取無訪問控制文件

<?php 
 $ch = curl_init(); 
 curl_setopt($ch, CURLOPT_URL, "http://localhost/mytest/phpinfo.php"); 
 curl_setopt($ch, CURLOPT_HEADER, false); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果把這行注釋掉的話,就會直接輸出 
 $result=curl_exec($ch); 
 curl_close($ch); 
 ?>

2,使用代理進行抓取

為什么要使用代理進行抓取呢?以google為例吧,如果去抓google的數據,短時間內抓的很頻繁的話,你就抓取不到了。google對你的ip地址做限制這個時候,你可以換代理重新抓。

<pre name="code" class="php"><?php 
 $ch = curl_init(); 
 curl_setopt($ch, CURLOPT_URL, "http://blog.51yip.com"); 
 curl_setopt($ch, CURLOPT_HEADER, false); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); 
 curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080); 
 //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');如果要密碼的話,加上這個 
 $result=curl_exec($ch); 
 curl_close($ch); 
 ?>

3,post數據后,抓取數據

單獨說一下數據提交數據,因為用 curl的時候,很多時候會有數據交互的,所以比較重要的。

<?php 
 $ch = curl_init(); 
 /*在這里需要注意的是,要提交的數據不能是二維數組或者更高 
 *例如array('name'=>serialize(array('tank','zhang')),'sex'=>1,'birth'=>'20101010') 
 *例如array('name'=>array('tank','zhang'),'sex'=>1,'birth'=>'20101010')這樣會報錯的*/ 
 $data = array('name' => 'test', 'sex'=>1,'birth'=>'20101010'); 
 curl_setopt($ch, CURLOPT_URL, 'http://localhost/mytest/curl/upload.php'); 
 curl_setopt($ch, CURLOPT_POST, 1); 
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
 curl_exec($ch); 
 ?>

在 upload.php文件中,print_r($_POST);利用curl就能抓取出upload.php輸出的內容Array ( [name] => test [sex] => 1 [birth] => 20101010 )

4,抓取一些有頁面訪問控制的頁面

php curl常用的經典例子

以前寫過一篇,頁面訪問控制的3種方法有興趣的可以看一下。

如果用上面提到的方法抓的話,會報以下錯誤

You are not authorized to view this page
You do not have permission to view this directory or page using the credentials that you supplied because your Web browser is sending a WWW-Authenticate header field that the Web server is not configured to accept.

這個時候,我們就要用CURLOPT_USERPWD來進行驗證了

<?php 
 $ch = curl_init(); 
 curl_setopt($ch, CURLOPT_URL, "http://club-china"); 
 /*CURLOPT_USERPWD主要用來破解頁面訪問控制的 
 *例如平時我們所以htpasswd產生頁面控制等。*/ 
 //curl_setopt($ch, CURLOPT_USERPWD, 'user:password'); 
 curl_setopt($ch, CURLOPT_HTTPGET, 1); 
 curl_setopt($ch, CURLOPT_REFERER, "http://club-china"); 
 curl_setopt($ch, CURLOPT_HEADER, 0); 
 $result=curl_exec($ch); 
 curl_close($ch); 
 ?>

到此,關于“php curl常用的經典例子”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

千阳县| 云霄县| 清徐县| 翁牛特旗| 桑植县| 聂拉木县| 类乌齐县| 册亨县| 上林县| 宁德市| 涿鹿县| 绥德县| 东明县| 包头市| 牟定县| 武穴市| 贵南县| 宁河县| 揭东县| 祁连县| 鄱阳县| 茂名市| 临泽县| 贵德县| 伊宁县| 吐鲁番市| 都安| 板桥市| 盐亭县| 桃江县| 穆棱市| 盘山县| 南京市| 车致| 凤山市| 陕西省| 会同县| 宿松县| 神池县| 高清| 鸡东县|