<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| 毛片在线免费视频| 亚洲av永久无码精品漫画| 久久久受www免费人成| 久久久久亚洲AV成人网人人软件 | 人禽杂交18禁网站免费| 丁香婷婷亚洲六月综合色| 国产h肉在线视频免费观看| 亚洲妓女综合网99| 男男AV纯肉无码免费播放无码| 亚洲最大av资源站无码av网址| 成人毛片视频免费网站观看| 亚洲av永久无码精品秋霞电影秋 | 99久久久精品免费观看国产| 亚洲中文字幕无码av在线| 久久电影网午夜鲁丝片免费| 精品久久久久亚洲| 久久影视国产亚洲| 在线美女免费观看网站h| 亚洲人成片在线观看| 国产成人精品免费视频大全五级| 视频一区在线免费观看| 亚洲精品亚洲人成在线观看| 24小时免费看片| 亚洲av成人一区二区三区观看在线| 亚洲性日韩精品一区二区三区| 久久免费观看国产精品| 亚洲乱码av中文一区二区| 久久久久亚洲AV无码专区网站 | 亚洲国产精品人人做人人爽| 三年片免费观看大全国语| 亚洲精品在线播放视频| 日韩毛片无码永久免费看| 国产在线播放线91免费| 亚洲剧情在线观看| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲中文字幕无码一区二区三区| 2019中文字幕在线电影免费 | 亚洲国产精品久久人人爱| 国产jizzjizz视频全部免费| 免费91最新地址永久入口|