php使用curl發送請求,php curl 上傳文件

本文目錄一覽:

PHP_CURL使用詳解

CURL是PHP的一個擴展,利用該擴展可以實現服務器之間的數據或文件傳輸,用來採集網絡中的html網頁文件、其他服務器提供接口數據等。

GET請求

POST請求

php Curl的get和post方法

get方法

function http_get($url)

{

    $oCurl = curl_init();

    if (stripos($url, “https://”) !== FALSE) {

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);

        //curl_setopt($oCurl, CURLOPT_SSLVERSION, 1);

        //CURL_SSLVERSION_TLSv1

    }

    curl_setopt($oCurl, CURLOPT_URL, $url);

    curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);

    $sContent = curl_exec($oCurl);

    $aStatus = curl_getinfo($oCurl);

    curl_close($oCurl);

    if (intval($aStatus[“http_code”]) == 200) {

        return $sContent;

    } else {

        return false;

    }

}

post方法

    // curlpost請求

    function http_post($url, $data = NULL, $json = false)

    {

        $curl = curl_init();

        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

        if (!empty($data)) {

            if ($json is_array($data)) {

                $data = json_encode($data);

            }

            curl_setopt($curl, CURLOPT_POST, 1);

            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

            if ($json) { //發送JSON數據

                curl_setopt($curl, CURLOPT_HEADER, 0);

                curl_setopt(

                    $curl,

                    CURLOPT_HTTPHEADER,

                    array(

                        ‘Content-Type: application/json; charset=utf-8’,

                        ‘Content-Length:’ . strlen($data)

                    )

                );

            }

        }

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        $res = curl_exec($curl);

        $errorno = curl_errno($curl);

        if ($errorno) {

            return array(‘errorno’ = false, ‘errmsg’ = $errorno);

        }

        curl_close($curl);

        return json_decode($res, true);

    }

php怎麼響應客戶端發送http請求

http請求有get,post。

php發送http請求有三種方式[我所知道的有三種,有其他的告訴我]。

1. file_get_contents();詳情見:

2. curl發送請求。

3. fsocket發送。

下面說使用curl發送。

首先環境需要配置好curl組件。

在windows中讓php支持curl比較簡單:

在php.ini中將extension=php_curl.dll前面的分號去掉,

有人說需要將php根目錄的libeay32.dll和ssleay32.dll需要拷貝到系統目錄下去。我實驗不拷貝也可以。

在linux中,如果使用源碼安裝,需要在make 之前,./configure –with-curl=path,

其中,path是你的 libcurl庫的位置,比如你安裝libcurl庫之後,

path可能就是/usr/local/,libcurl可以是靜態庫,也可以是動態庫。

注意libcurl庫configure的時候,可以將一些不需要的功能去掉,

比如ssl , ldap等。在php configure的時候,會去檢查libcurl中某些功能是否被開啟,進而去相應地調整生成的php。

如何利用php發送curl指令

$ch = curl_init(); // 初始化

curl_setopt($ch, CURLOPT_URL, “”);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 隨301,302 自動跳轉

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 不直接輸出到頁面

curl_setopt($ch, CURLOPT_TIMEOUTR, 5); // 設置超時時間

$content = curl_exec($ch); // 執行並返回內容

curl_close($ch); // 關閉

CURLOPT 選項很多,自己去php官網查看

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/188665.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 13:32
下一篇 2024-11-28 13:32

相關推薦

  • PHP和Python哪個好找工作?

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

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

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

    編程 2025-04-29
  • 如何使用yum安裝curl、policycoreutils、policycoreutils-python-utils和openssh-server等軟件包

    yum是一個常用的包管理器,可以使在Linux系統上安裝、更新和卸載軟件包變得更加容易。本文將詳細介紹使用yum安裝curl、policycoreutils、policycoreu…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24

發表回復

登錄後才能評論