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...