curl接口調用


CURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 CURL 庫。使用PHP的CURL 庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然后分析一下你所抓取的網頁,然后就可以以程序的方式得到你想要的數據了。無論是你想從從一個鏈接上取部分數據,或是取一個XML文件並把其導入數據庫,那怕就是簡單的獲取網頁內容,CURL 是一個功能強大的PHP庫。

PHP建立CURL請求的基本步驟

①:初始化

curl_init()

②:設置屬性

curl_setopt().有一長串CURL 參數可供設置,它們能指定URL請求的各個細節。

③:執行並獲取結果

curl_exec()

④:釋放句柄

curl_close()

示例

<?php
//獲得笑話
function juheJoke()
{
    //配置您申請的appkey
    $appkey = "***";
    $url = "http://japi.juhe.cn/joke/content/text.from";
    $params = array(
        "page" => "",//當前頁數,默認1
        "pagesize" => 10,//每次返回條數,默認1,最大20
        "key" => $appkey,//您申請的key
    );
    $paramstring = http_build_query($params);
    $content = curl($url, $paramstring);
    $result = json_decode($content, true);
    if ($result && $result['error_code'] == '0') {
        return $result['result']['data'][mt_rand(0, 10)]['content'];
    }
    return "請求失敗";
}
/**
 * 請求接口返回內容
 * @param string $url [請求的URL地址]
 * @param string $params [請求的參數]
 * @param int $ipost [是否采用POST形式]
 * @return string
 */
function curl($url,$params=false,$ispost=0){
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    if( $ispost )
    {
        curl_setopt( $ch , CURLOPT_POST , true );
        curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
        curl_setopt( $ch , CURLOPT_URL , $url );
    }
    else
    {
        if($params){
            curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
        }else{
            curl_setopt( $ch , CURLOPT_URL , $url);
        }
    }
    $response = curl_exec( $ch );
    if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
        return false;
    }
    curl_close( $ch );
    return $response;
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM