php curl類比post請求和提交多維陣列的範例程式碼,curl範例程式碼_PHP教程

來源:互聯網
上載者:User

php curl類比post請求和提交多維陣列的範例程式碼,curl範例程式碼


下面一段代碼給大家介紹php curl類比post請求的範例程式碼,具體代碼如下:

<?php$uri = "http://www.cnblogs.com/test.php";//這裡換成自己的伺服器的地址// 參數數組$data = array ( 'name' => 'tanteng'// 'password' => 'password');$ch = curl_init ();// print_r($ch);curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );$return = curl_exec ( $ch );curl_close ( $ch );print_r($return);

2,遠程伺服器:

<?phpif(isset($_POST['name'])){ if(!empty($_POST['name'])){ echo '您好,',$_POST['name'].'!'; }}

下面給大家介紹php中curl類比post提交多維陣列。

今天需要用curl類比post提交參數,請求同事提供的一個介面;但是傳遞的參數中,有一個參數的值為數組,用普通的curl post代碼提交,會報錯誤

PHP Notice: Array to string conversion in /test/functions.php on line 30
Notice: Array to string conversion in /test/functions.php on line 30

代碼如下:

<?php        $param = array(                'uid' => 123,                 'uids' => array(12,455),                 'msgType' => 'WITH',                  'nick' => 'aaa',                  );        $url = "http://cx.com/t.php";        //通過curl的post方式發送介面請求        SendDataByCurl($url,$param);       //通過curl類比post的請求;function SendDataByCurl($url,$data=array()){  //對空格進行轉義  $url = str_replace(' ','+',$url);  $ch = curl_init();  //設定選項,包括URL  curl_setopt($ch, CURLOPT_URL, "$url");  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($ch, CURLOPT_HEADER, 0);  curl_setopt($ch,CURLOPT_TIMEOUT,3); //定義逾時3秒鐘    // POST資料  curl_setopt($ch, CURLOPT_POST, 1);  // 把post的變數加上  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  //執行並擷取url地址的內容  $output = curl_exec($ch);  //釋放curl控制代碼  curl_close($ch);  return $output;}

經過修改上面代碼,可以完成提交數組的功能,而不會報php notice,代碼如下:

//通過curl類比post的請求;function SendDataByCurl($url,$data=array()){  //對空格進行轉義  $url = str_replace(' ','+',$url);  $ch = curl_init();  //設定選項,包括URL  curl_setopt($ch, CURLOPT_URL, "$url");  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($ch, CURLOPT_HEADER, 0);  curl_setopt($ch,CURLOPT_TIMEOUT,3); //定義逾時3秒鐘    // POST資料  curl_setopt($ch, CURLOPT_POST, 1);  // 把post的變數加上  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));  //所需傳的數組用http_bulid_query()函數處理一下,就ok了  //執行並擷取url地址的內容  $output = curl_exec($ch);  $errorCode = curl_errno($ch);  //釋放curl控制代碼  curl_close($ch);  if(0 !== $errorCode) {    return false;  }  return $output;}

http://www.bkjia.com/PHPjc/1073124.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1073124.htmlTechArticlephp curl類比post請求和提交多維陣列的範例程式碼,curl範例程式碼 下面一段代碼給大家介紹php curl類比post請求的範例程式碼,具體代碼如下: php...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.