首页 > 开发 > PHP > 正文

php curl中x-www-form-urlencoded与multipart/form-data 方式 Post 提交数据

2024-05-04 21:50:03
字体:
来源:转载
供稿:网友

multipart/form-data 方式

post的curl库,模拟post提交的时候,默认的方式 multipart/form-data,这个算是post提交的几个基础的实现方式。

  1. $postUrl = ''
  2. $postData = array
  3.     'user_name'=>$userName
  4.     'identity_no'=>$idCardNo 
  5. ); 
  6.  
  7. $curl = curl_init(); 
  8. curl_setopt($curl, CURLOPT_URL, $postUrl); 
  9. curl_setopt($curl, CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.15'); 
  10. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate 
  11. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  
  12. curl_setopt($curl, CURLOPT_POST, true); 
  13. curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); 
  14. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
  15. $r = curl_exec($curl);  
  16. curl_close($curl); 
  17. //Vevb.com 
  18. print_r($r); 

想用的可以直接拿去试试

x-www-form-urlencoded方式

php的curl库进行post提交还是蛮方便的,但是提交方式不同,contentType 不同导致你的api是否能接收到数据也是个变数,这里来个简单的实例.

  1. $postUrl = ''
  2. $postData = array
  3.     'user_name'=>$userName
  4.     'identity_no'=>$idCardNo 
  5. ); 
  6. $postData = http_build_query($postData); 
  7. $curl = curl_init(); 
  8. curl_setopt($curl, CURLOPT_URL, $postUrl); 
  9. curl_setopt($curl, CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.15'); 
  10. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate 
  11. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  
  12. curl_setopt($curl, CURLOPT_POST, true); 
  13. curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); 
  14. curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); 
  15. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
  16. $r = curl_exec($curl);  
  17. curl_close($curl); 
  18. //Vevb.com 
  19. print_r($r); 

关键一段代码是:

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表