怎麼使用php中的curl呢(php curl教程)

本文目錄一覽:

curl命令在PHP中怎麼用

這是我項目中一直在用的一個方法

?php

function curl($url,$params = array(),$header = array(),$timeout = 180){

    if(empty($url)) return $url;

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL,$url);//請求url地址

    curl_setopt($curl, CURLOPT_HTTPHEADER , $header );  //構造IP

    

    if(!empty($params)  count($params)  0){

        curl_setopt($curl, CURLOPT_POST, true);

        

        //Request Payload格式數據

        if(isset($params[‘is_json’])  $params[‘is_json’] === true){

            unset($params[‘is_json’]);

            $params = json_encode($params);

        }else{

            $params = http_build_query($params);

        }

        curl_setopt($curl, CURLOPT_POSTFIELDS, $params);        

    }

    //curl_setopt($curl, CURLOPT_HEADER, true);//是否返迴響應頭信息

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//是否將結果返回

    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);//是否重定向

    //curl_setopt($curl, CURLOPT_USERAGENT, ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36’);

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);   // 只信任CA頒布的證書  

    //curl_setopt($curl, CURLOPT_CAINFO, $cacert); // CA根證書(用來驗證的網站證書是否是CA頒布)  

    //curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 檢查證書中是否設置域名,並且是否與提供的主機名匹配  

    // 從證書中檢查SSL加密演算法是否存在

    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

    curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); 

    //curl_setopt($curl, CURLOPT_HTTPHEADER, array(“Expect: “)); 

    curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);//用來告訴PHP腳本在成功連接伺服器前等待多久(連接成功之後就會開始緩衝輸出),這個參數是為了應對目標伺服器的過載,下線,或者崩潰等可能狀況;

    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);//用來告訴成功PHP腳本,從伺服器接收緩衝完成前需要等待多長時間。如果目標是個巨大的文件,生成內容速度過慢或者鏈路速度過慢,這個參數就會很有用。

    // 自動設置Referer

    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

    //curl_setopt($curl, CURLOPT_COOKIEJAR, “D:phpStudyWWWcjcooBE66.tmp”);// //寫入cookie信息

    //setcookie(‘cookie_jar’, $cookie_jar); //保存cookie路徑

    $data = curl_exec($curl); //執行    

    curl_close($curl);

    return $data;

}

?

PHP如何開啟curl

在安裝一些PHP網站的時候,會提示要求開啟curl_getinfo()函數支持功能,否則網站無法安裝,在網上找了一些資料,試了好多次終於將curl_getinfo()的功能開啟,下面介紹一下開啟的具體過程。

工具/原料

php.ini

方法/步驟

首先打開php.ini文件,一般默認放在C盤windows目錄下。

在php.ini文件夾下,查找extension=php_curl.dll,找到後,把它前面的分號去掉,讓它起作用。

然後再查找extension_dir=,看看後面的地址指向哪個文件夾,然後打開這個文件夾。

從這個php5文件夾中找到libeay32.dll, ssleay32.dll,這兩個文件,然後把這兩個文件拷貝到c盤windows里的system32文件中。

重新啟動系統就可以了,網上說只要重啟iis或apcha等,但試了好像不靈,果斷重啟都可以了。

PHP中CURL是如何使用的

在php中可以很容易的獲取某個url的內容,只要通過file_get_contents,file或者readfile函數就能輕鬆實現,根本不必使用cURL:

php curl的幾種用法

總結一下項目中用到curl的幾種方式1. php curl的默認調用方法,get方式訪問url$ch = curl_init();curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //設置http頭curl_setopt($ch, CURLOPT_ENCODING, “gzip” ); //設置為客戶端支持gzip壓縮curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設置連接等待時間curl_setopt($ch, CURLOPT_URL, $url );curl_exec( $ch );if ($error = curl_error($ch) ) {//出錯處理return -1;}fclose($fp);$curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //獲取http返回值if( $curl_code == 200 ) {//正常訪問url}//異常2. 設置http header支持curl訪問lighttpd伺服器Java代碼$header[]= ‘Expect:’;$header[]= ‘Expect:’;3. 設置curl,只獲取http header,不獲取body:Java代碼curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_NOBODY, 1);curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_NOBODY, 1);或者只獲取body:Java代碼curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the bodycurl_setopt($ch, CURLOPT_NOBODY, 0);curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the bodycurl_setopt($ch, CURLOPT_NOBODY, 0);4. 訪問虛擬主機,需設置Host$header[]= ‘Host: ‘.$host;5. 使用post, put, delete等REStful方式訪問urlpost:curl_setopt($ch, CURLOPT_POST, 1 );put, delete:curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “DELETE”); //或者PUT,需要伺服器支持這些方法。6. 保存下載內容為文件

原創文章,作者:FZSOI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330263.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FZSOI的頭像FZSOI
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows伺服器上的日誌,並將其發送到遠程伺服器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29

發表回復

登錄後才能評論