<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    分享java帶來的快樂

    我喜歡java新東西

    PHP CURL

    使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然后分析一下你所抓取的網頁,然后就可以以程序的方式得到你想要的數據了。無論是你想從從一個鏈接上取部分數據,或是取一個XML文件并把其導入數據庫,那怕就是簡單的獲取網頁內容,cURL
    是一個功能強大的PHP庫。


    PHP中的CURL函數庫(Client URL Library Function)


    curl_close — 關閉一個curl會話
    curl_copy_handle —
    拷貝一個curl連接資源的所有內容和參數
    curl_errno — 返回一個包含當前會話錯誤信息的數字編號
    curl_error —
    返回一個包含當前會話錯誤信息的字符串
    curl_exec — 執行一個curl會話
    curl_getinfo —
    獲取一個curl連接資源句柄的信息
    curl_init — 初始化一個curl會話
    curl_multi_add_handle —
    向curl批處理會話中添加單獨的curl句柄資源
    curl_multi_close — 關閉一個批處理句柄資源
    curl_multi_exec —
    解析一個curl批處理句柄
    curl_multi_getcontent — 返回獲取的輸出的文本流
    curl_multi_info_read —
    獲取當前解析的curl的相關傳輸信息
    curl_multi_init —
    初始化一個curl批處理句柄資源
    curl_multi_remove_handle —
    移除curl批處理句柄資源中的某個句柄資源
    curl_multi_select — Get all the sockets associated with
    the cURL extension, which can then be "selected"
    curl_setopt_array —
    以數組的形式為一個curl設置會話參數
    curl_setopt — 為一個curl設置會話參數
    curl_version —
    獲取curl相關的版本信息


    curl_init()函數的作用初始化一個curl會話,curl_init()函數唯一的一個參數是可選的,表示一個url地址。
    curl_exec()函數的作用是執行一個curl會話,唯一的參數是curl_init()函數返回的句柄。
    curl_close()函數的作用是關閉一個curl會話,唯一的參數是curl_init()函數返回的句柄。


    例子一: 基本例子
    基本例子
    ﹤?php
    // 初始化一個 cURL 對象
    $curl = curl_init();


    // 設置你需要抓取的URL
    curl_setopt($curl, CURLOPT_URL, 'http://www.cmx8.cn');


    // 設置header
    curl_setopt($curl, CURLOPT_HEADER, 1);


    // 設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上。
    curl_setopt($curl,
    CURLOPT_RETURNTRANSFER, 1);


    // 運行cURL,請求網頁
    $data = curl_exec($curl);


    // 關閉URL請求
    curl_close($curl);


    // 顯示獲得的數據
    var_dump($data);


    ?>


    例子二: POST數據


    sendSMS.php,其可以接受兩個表單域,一個是電話號碼,一個是短信內容。
    POST數據
    ﹤?php
    $phoneNumber = '13812345678';
    $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.lxvoip.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);
    ?﹥


    例子三:使用代理服務器
    使用代理服務器
    ﹤?php 
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://www.cmx8.cn');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_PROXY, 'proxy.lxvoip.com:1080');
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');
    $data = curl_exec();
    curl_close($ch);
    ?﹥


    例子四: 模擬登錄


    Curl 模擬登錄 discuz 程序,適合DZ7.0,將username改成你的用戶名,userpass改成你的密碼就可以了.
    Curl 模擬登錄
    discuz
    程序
    <?php


    !extension_loaded('curl')
    && die('The curl extension is not
    loaded.');

    $discuz_url =
    'http://www.lxvoip.com';//論壇地址
    $login_url = $discuz_url
    .'/logging.php?action=login';//登錄頁地址
    $get_url = $discuz_url
    .'/my.php?item=threads';
    //我的帖子

    $post_fields =
    array();
    //以下兩項不需要修改
    $post_fields['loginfield']
    = 'username';
    $post_fields['loginsubmit'] =
    'true';
    //用戶名和密碼,必須填寫
    $post_fields['username']
    = 'lxvoip';
    $post_fields['password'] =
    '88888888';
    //安全提問
    $post_fields['questionid']
    = 0;
    $post_fields['answer'] =
    '';
    //@todo驗證碼
    $post_fields['seccodeverify']
    =
    '';

    //獲取表單FORMHASH
    $ch
    = curl_init($login_url);
    curl_setopt($ch, CURLOPT_HEADER,
    0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,
    1);
    $contents =
    curl_exec($ch);
    curl_close($ch);
    preg_match('/<input\s*type="hidden"\s*name="formhash"\s*value="(.*?)"\s*\/>/i',
    $contents, $matches);
    if(!empty($matches))
    {
    $formhash =
    $matches[1];
    } else
    {
    die('Not found the
    forumhash.');
    }

    //POST數據,獲取COOKIE
    $cookie_file
    = dirname(__FILE__) . '/cookie.txt';
    //$cookie_file =
    tempnam('/tmp');
    $ch =
    curl_init($login_url);
    curl_setopt($ch, CURLOPT_HEADER,
    0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,
    1);
    curl_setopt($ch, CURLOPT_POST,
    1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,
    $post_fields);
    curl_setopt($ch, CURLOPT_COOKIEJAR,
    $cookie_file);
    curl_exec($ch);
    curl_close($ch);

    //帶著上面得到的COOKIE獲取需要登錄后才能查看的頁面內容
    $ch
    = curl_init($get_url);
    curl_setopt($ch, CURLOPT_HEADER,
    0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,
    0);
    curl_setopt($ch, CURLOPT_COOKIEFILE,
    $cookie_file);
    $contents =
    curl_exec($ch);
    curl_close($ch);

    var_dump($contents);

    posted on 2012-11-17 20:42 強強 閱讀(307) 評論(0)  編輯  收藏 所屬分類: php

    主站蜘蛛池模板: 青青青视频免费观看| 亚洲国产成人久久综合野外 | 日韩免费a级毛片无码a∨| 一个人看的www视频免费在线观看| 亚洲制服丝袜中文字幕| 亚洲成色在线影院| 中文字幕亚洲图片| 免费一级毛片在播放视频| 在线观看成人免费| 免费AA片少妇人AA片直播| 久久久免费精品re6| a视频在线观看免费| 猫咪www免费人成网站| 亚洲国产AV一区二区三区四区| 亚洲精品偷拍无码不卡av| 亚洲av日韩av无码黑人| 亚洲精品亚洲人成在线观看| 亚洲区不卡顿区在线观看| 国产精品免费电影| 在线视频免费国产成人 | 亚洲av无码一区二区三区四区| 亚洲av无码不卡久久| 亚洲理论片在线观看| 久久精品国产亚洲av水果派| 亚洲αv久久久噜噜噜噜噜| 亚洲乱码国产一区三区| 亚洲欧洲国产精品香蕉网| 亚洲尤码不卡AV麻豆| 亚洲日韩v无码中文字幕| 亚洲色婷婷综合久久| 亚洲AV综合色区无码一区爱AV | 一级毛片大全免费播放| 美女免费视频一区二区三区| 日本高清免费中文在线看| 搜日本一区二区三区免费高清视频| 激情吃奶吻胸免费视频xxxx| 香蕉视频免费在线播放| 久久久精品视频免费观看| 中文精品人人永久免费| 久久一区二区三区免费播放| 中文字幕在线免费观看|