国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php curl模擬post請求和提交多維數組的示例代碼

2024-05-04 23:40:29
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php curl模擬post請求和提交多維數組的示例代碼,需要的朋友可以參考下

下面一段代碼給大家介紹php curl模擬post請求的示例代碼,具體代碼如下:

 

 
  1. <?php 
  2. $uri = "http://www.cnblogs.com/test.php";//這里換成自己的服務器的地址 
  3. // 參數數組 
  4. $data = array ( 
  5. 'name' => 'tanteng' 
  6. // 'password' => 'password' 
  7. ); 
  8. $ch = curl_init (); 
  9. // print_r($ch); 
  10. curl_setopt ( $ch, CURLOPT_URL, $uri ); 
  11. curl_setopt ( $ch, CURLOPT_POST, 1 ); 
  12. curl_setopt ( $ch, CURLOPT_HEADER, 0 ); 
  13. curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); 
  14. curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); 
  15. $return = curl_exec ( $ch ); 
  16. curl_close ( $ch ); 
  17. print_r($return); 

2,遠程服務器:

 

 
  1. <?php 
  2. if(isset($_POST['name'])){ 
  3. if(!empty($_POST['name'])){ 
  4. 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

代碼如下:

 

 
  1. <?php 
  2. $param = array( 
  3. 'uid' => 123,  
  4. 'uids' => array(12,455),  
  5. 'msgType' => 'WITH',  
  6. 'nick' => 'aaa',  
  7. ); 
  8. $url = "http://cx.com/t.php"
  9. //通過curl的post方式發送接口請求 
  10. SendDataByCurl($url,$param); 
  11. //通過curl模擬post的請求; 
  12. function SendDataByCurl($url,$data=array()){ 
  13. //對空格進行轉義 
  14. $url = str_replace(' ','+',$url); 
  15. $ch = curl_init(); 
  16. //設置選項,包括URL 
  17. curl_setopt($ch, CURLOPT_URL, "$url"); 
  18. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  19. curl_setopt($ch, CURLOPT_HEADER, 0); 
  20. curl_setopt($ch,CURLOPT_TIMEOUT,3); //定義超時3秒鐘  
  21. // POST數據 
  22. curl_setopt($ch, CURLOPT_POST, 1); 
  23. // 把post的變量加上 
  24. curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
  25. //執行并獲取url地址的內容 
  26. $output = curl_exec($ch); 
  27. //釋放curl句柄 
  28. curl_close($ch); 
  29. return $output; 

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

 

 
  1. //通過curl模擬post的請求; 
  2. function SendDataByCurl($url,$data=array()){ 
  3. //對空格進行轉義 
  4. $url = str_replace(' ','+',$url); 
  5. $ch = curl_init(); 
  6. //設置選項,包括URL 
  7. curl_setopt($ch, CURLOPT_URL, "$url"); 
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  9. curl_setopt($ch, CURLOPT_HEADER, 0); 
  10. curl_setopt($ch,CURLOPT_TIMEOUT,3); //定義超時3秒鐘  
  11. // POST數據 
  12. curl_setopt($ch, CURLOPT_POST, 1); 
  13. // 把post的變量加上 
  14. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); //所需傳的數組用http_bulid_query()函數處理一下,就ok了 
  15. //執行并獲取url地址的內容 
  16. $output = curl_exec($ch); 
  17. $errorCode = curl_errno($ch); 
  18. //釋放curl句柄 
  19. curl_close($ch); 
  20. if(0 !== $errorCode) { 
  21. return false
  22. return $output; 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤台县| 冷水江市| 迭部县| 富阳市| 巨鹿县| 灵台县| 梁平县| 黄浦区| 延津县| 图片| 木兰县| 衡水市| 吐鲁番市| 彝良县| 嵊泗县| 泾阳县| 绥化市| 皮山县| 佛坪县| 郸城县| 新宾| 塔城市| 光泽县| 肥乡县| 花垣县| 揭西县| 鄂托克前旗| 桐乡市| 神农架林区| 扎鲁特旗| 玛纳斯县| 东海县| 丹寨县| 玉屏| 湛江市| 绍兴县| 广元市| 岳阳县| 瑞昌市| 宜川县| 南宫市|