php curl模拟post进行 http 或 https url请求(可选携带表单,cookie)

立即领取

最高 ¥2000 红包 限量领取

云服务器、主机等产品通用,可叠加官网常规优惠使用 | 限时领取

由于自己是小白,找了很多代码,各种报错,找不到原因,费了很多功夫,最后找到一个能用的完整代码。做个笔记,以后用时直接抄作业即可。

代码如下:

<?php



/** * curl模拟post进行 http 或 https url请求(可选携带表单,cookie)
* @parambool $type请求类型:true为https请求,false为http请求 
* @paramstring $url请求地址 
* @paramarray $post_data请求表单数据array("key1"=>"value1","key2"=>"value2"),表单以数组方式传输 
* @paramstring $cookie cookie字符串  
* @returnstring 返回字符串 */
function curl_post($type, $url, $post_data, $cookie) {
	//type与url为必传  ,表单post_data数组,和cookie字符串选传  
	if (empty($url)) {         
	return false;     
	}    
	if(!empty($post_data)){     
	$params = '';      
	foreach ( $post_data as $k => $v ){           
	$params.= "$k=" . urlencode($v). "&" ;      
	}      
	$params = substr($params,0,-1);    
	}     
	$ch = curl_init();//初始化curl     
	curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页    
	curl_setopt($ch, CURLOPT_HEADER, 0);//设置header     
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
	if($type){ 
	//判断请求协议http或https     
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查     
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);  // 从证书中检查SSL加密算法是否存在
	}
	curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
	// 模拟用户使用的浏览器
	if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie);  //设置cookie     
	if(!empty($post_data))curl_setopt($ch, CURLOPT_POSTFIELDS, $params); //设置表单
	curl_setopt($ch, CURLOPT_POST, 1);//post提交方式     
	$data = curl_exec($ch);//运行curl     
	curl_close($ch);     
	return $data;
}
var_dump(curl_post(true, "https://ai.haoii123.com/get-ai.php", array("info"=>"生物滤池菌种种类有很多,比如硝化细菌、反硝化细菌、厌氧菌、好氧菌、cod降解菌、复合生物菌、还有生物滤池专用菌等等,这些菌种针对生物滤池起着不同的作用,针对实际现场状况,我们可以按需求添加,以达到处理污水、废气、除臭的目的"), ""));


?>

上面是测试,一个伪原创接口,直接post传数据,然后得到伪原创结果的案例。

赞 (0) 打赏
  • 欢迎小伙伴加入,本站原创文章交流群:进站必看
  • 本作品是由 白露博客 会员 白露 投递的作品。
  • 网络媒体或个人转载请务必署名并注明出处和链接!:http://blmoe.cn/1162.html
  • 凡是原创作品,禁止再次修改后发布;任何商业用途均须联系作者。如未经授权用作他处,作者将保留追究侵权者法律责任的权利。

评论 0

收起表情
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

「赠人玫瑰,手留余香」

支付宝扫一扫打赏

微信扫一扫打赏