<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

    主站蜘蛛池模板: 亚欧国产一级在线免费| 狼人大香伊蕉国产WWW亚洲| 国产裸体美女永久免费无遮挡| 日韩在线免费播放| 亚洲AV无码一区二区三区牲色| 成人免费视频试看120秒| 亚洲成a人片毛片在线| 97国产免费全部免费观看| 亚洲人成电影青青在线播放| 亚洲高清免费在线观看| 亚洲熟妇无码久久精品| 美女被cao免费看在线看网站| 亚洲大尺码专区影院| 久久精品无码一区二区三区免费| 亚洲狠狠成人综合网| 免费看国产一级特黄aa大片| 欧洲精品码一区二区三区免费看| 久久精品亚洲男人的天堂| 国产免费福利体检区久久| 亚洲精品无码乱码成人| 在线人成精品免费视频| 亚洲伊人精品综合在合线| 青青青青青青久久久免费观看| 国产精品亚洲色图| 国产亚洲情侣一区二区无码AV | 亚洲欧美日韩一区二区三区| 毛片a级三毛片免费播放| 美女视频黄视大全视频免费的| 亚洲精品无码激情AV| 免费的全黄一级录像带| 亚洲国产福利精品一区二区| 日本黄页网站免费| 成人网站免费大全日韩国产| 2022年亚洲午夜一区二区福利| 四虎成人免费大片在线| 一个人免费观看日本www视频| 亚洲伊人tv综合网色| 手机看片久久国产免费| 中国一级毛片视频免费看| 亚洲国产精品成人精品小说| 免费jjzz在在线播放国产|