• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. PHP的cURL庫有效地抓網(wǎng)頁的技巧

        時間:2024-08-08 14:38:19 PHP 我要投稿
        • 相關(guān)推薦

        PHP的cURL庫有效地抓網(wǎng)頁的技巧

          PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運行,使代碼運行更快。

          啟用 cURL 設(shè)置

          首先,我們得先要確定我們的PHP是否開啟了這個庫,你可以通過使用php_info()函數(shù)來得到這一信息。

          phpinfo();

          ?>

          如果你可以在網(wǎng)頁上看到下面的輸出,那么表示cURL庫已被開啟。

          如果你看到的話,那么你需要設(shè)置你的PHP并開啟這個庫。如果你是在Windows平臺下,那么非常簡單,你需要改一改你的php.ini文件的設(shè)置,找到php_curl.dll,并取消前面的分號注釋就行了。如下所示:

          //取消下在的注釋

          extension=php_curl.dll

          如果你是在Linux下面,那么,你需要重新編譯你的PHP了,編輯時,你需要打開編譯參數(shù)——在configure命令上加上“–with-curl” 參數(shù)。

          一個小示例

          如果一切就緒,下面是一個小例程:

          // 初始化一個 cURL 對象

          $curl = curl_init();

          // 設(shè)置你需要抓取的URL

          curl_setopt($curl, CURLOPT_URL, http://cocre.com);

          // 設(shè)置header

          curl_setopt($curl, CURLOPT_HEADER, 1);

          // 設(shè)置cURL 參數(shù),要求結(jié)果保存到字符串中還是輸出到屏幕上。

          curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

          // 運行cURL,請求網(wǎng)頁

          $data = curl_exec($curl);

          // 關(guān)閉URL請求

          curl_close($curl);

          // 顯示獲得的數(shù)據(jù)

          var_dump($data);

          ?>

          如何POST數(shù)據(jù)

          上面是抓取網(wǎng)頁的代碼,下面則是向某個網(wǎng)頁POST數(shù)據(jù)。假設(shè)我們有一個處理表單的網(wǎng)址http://www.example.com/sendSMS.php,其可以接受兩個表單域,一個是電話號碼,一個是短信內(nèi)容。

          $phoneNumber = 13912345678;

          $message = This message was generated by curl and php;

          $curlPost = pNUMBER= . urlencode($phoneNumber) . &MESSAGE= . urlencode($message) . &SUBMIT=Send;

          $ch = curl_init();

          curl_setopt($ch, CURLOPT_URL, http://www.example.com/sendSMS.php);

          curl_setopt($ch, CURLOPT_HEADER, 1);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

          curl_setopt($ch, CURLOPT_POST, 1);

          curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

          $data = curl_exec();curl_close($ch);

          ?>

          從上面的程序我們可以看到,使用CURLOPT_POST設(shè)置HTTP協(xié)議的POST方法,而不是GET方法,然后以CURLOPT_POSTFIELDS設(shè)置POST的數(shù)據(jù)。

          關(guān)于代理服務(wù)器

          下面是一個如何使用代理服務(wù)器的示例。請注意其中高亮的代碼,代碼很簡單,我就不用多說了。

          $ch = curl_init();

          curl_setopt($ch, CURLOPT_URL, http://www.example.com);

          curl_setopt($ch, CURLOPT_HEADER, 1);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

          curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);

          curl_setopt($ch, CURLOPT_PROXY, fakeproxy.com:1080);

          curl_setopt($ch, CURLOPT_PROXYUSERPWD, user:password);

          $data = curl_exec();curl_clos

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【PHP的cURL庫有效地抓網(wǎng)頁的技巧】相關(guān)文章:

        PHP中curl的使用實例04-01

        關(guān)于php面試寶典及PHP面試技巧04-02

        網(wǎng)頁字體設(shè)計的技巧03-18

        Dreamweaver網(wǎng)頁優(yōu)化技巧03-05

        網(wǎng)頁設(shè)計配色技巧03-07

        MongoDB的PHP驅(qū)動方法與技巧大全04-02

        網(wǎng)頁設(shè)計色彩搭配技巧03-07

        網(wǎng)頁美工設(shè)計技巧03-12

        網(wǎng)頁圖文混排技巧03-12

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 欧美视频精品一区二区 | 亚洲色国产电影在线观看 | 香蕉亚洲视频在线 | 秋霞影院一区二区三区 | 午夜打电话福利视频 | 亚洲欧美人妖另类激情综合 |

            PHP的cURL庫有效地抓網(wǎng)頁的技巧

              PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運行,使代碼運行更快。

              啟用 cURL 設(shè)置

              首先,我們得先要確定我們的PHP是否開啟了這個庫,你可以通過使用php_info()函數(shù)來得到這一信息。

              phpinfo();

              ?>

              如果你可以在網(wǎng)頁上看到下面的輸出,那么表示cURL庫已被開啟。

              如果你看到的話,那么你需要設(shè)置你的PHP并開啟這個庫。如果你是在Windows平臺下,那么非常簡單,你需要改一改你的php.ini文件的設(shè)置,找到php_curl.dll,并取消前面的分號注釋就行了。如下所示:

              //取消下在的注釋

              extension=php_curl.dll

              如果你是在Linux下面,那么,你需要重新編譯你的PHP了,編輯時,你需要打開編譯參數(shù)——在configure命令上加上“–with-curl” 參數(shù)。

              一個小示例

              如果一切就緒,下面是一個小例程:

              // 初始化一個 cURL 對象

              $curl = curl_init();

              // 設(shè)置你需要抓取的URL

              curl_setopt($curl, CURLOPT_URL, http://cocre.com);

              // 設(shè)置header

              curl_setopt($curl, CURLOPT_HEADER, 1);

              // 設(shè)置cURL 參數(shù),要求結(jié)果保存到字符串中還是輸出到屏幕上。

              curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

              // 運行cURL,請求網(wǎng)頁

              $data = curl_exec($curl);

              // 關(guān)閉URL請求

              curl_close($curl);

              // 顯示獲得的數(shù)據(jù)

              var_dump($data);

              ?>

              如何POST數(shù)據(jù)

              上面是抓取網(wǎng)頁的代碼,下面則是向某個網(wǎng)頁POST數(shù)據(jù)。假設(shè)我們有一個處理表單的網(wǎng)址http://www.example.com/sendSMS.php,其可以接受兩個表單域,一個是電話號碼,一個是短信內(nèi)容。

              $phoneNumber = 13912345678;

              $message = This message was generated by curl and php;

              $curlPost = pNUMBER= . urlencode($phoneNumber) . &MESSAGE= . urlencode($message) . &SUBMIT=Send;

              $ch = curl_init();

              curl_setopt($ch, CURLOPT_URL, http://www.example.com/sendSMS.php);

              curl_setopt($ch, CURLOPT_HEADER, 1);

              curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

              curl_setopt($ch, CURLOPT_POST, 1);

              curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

              $data = curl_exec();curl_close($ch);

              ?>

              從上面的程序我們可以看到,使用CURLOPT_POST設(shè)置HTTP協(xié)議的POST方法,而不是GET方法,然后以CURLOPT_POSTFIELDS設(shè)置POST的數(shù)據(jù)。

              關(guān)于代理服務(wù)器

              下面是一個如何使用代理服務(wù)器的示例。請注意其中高亮的代碼,代碼很簡單,我就不用多說了。

              $ch = curl_init();

              curl_setopt($ch, CURLOPT_URL, http://www.example.com);

              curl_setopt($ch, CURLOPT_HEADER, 1);

              curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

              curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);

              curl_setopt($ch, CURLOPT_PROXY, fakeproxy.com:1080);

              curl_setopt($ch, CURLOPT_PROXYUSERPWD, user:password);

              $data = curl_exec();curl_clos