zl程序教程

您现在的位置是:首页 >  后端

当前栏目

解析curl提交GET,POST,Cookie的简单方法

方法Cookie 简单 解析 提交 get post CURL
2023-06-13 09:15:02 时间
复制代码代码如下:

<?php
$get_data=array(
   "get1"=>"get1",
   "get2"=>"get2",
   "get3"=>"get3"
);
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,"http://test.test.com/test.php?".http_build_query($get_data));
curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.97Safari/537.11");
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
$post_data=array(
   "p1"=>"test1",
   "p2"=>"test2",
   "p3"=>"test3"
);
curl_setopt($curl,CURLOPT_POST,true);
//["CONTENT_TYPE"]=>string(70)"multipart/form-data;boundary=------077a996f5afe"
//要发送文件,在文件名前面加上@前缀并使用完整路径。
//使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法,默认把content_type设为了multipart/form-data。
//虽然对于大多数web服务器并没有影响,但是还是有少部分服务器不兼容。
curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);
//["CONTENT_TYPE"]=>string(33)"application/x-www-form-urlencoded"
//curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($post_data));
//在没有需要上传文件的情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。
$cookies=array(
 "c1"=>"v1",
 "c2"=>"v2",
 "c3"=>"v3",
);
$cookies_string="";
foreach($cookiesas$name=>$value){
 $cookies_string.=$name."=".$value.";";
}
curl_setopt($curl,CURLOPT_COOKIE,$cookies_string);
$result=curl_exec($curl);
curl_close($curl);
var_dump($result);
exit;