cURL

本文提供了一个使用cURL进行数据传输的PHP示例,详细介绍了如何初始化cURL会话、设置选项(如URL、头信息、代理等)、执行请求以及处理响应数据。同时展示了伪造头部信息的方法,确保请求的多样性和匿名性。
<?php
//1.初始化
$ch=curl_init();
//2.设置选项,包括URL
$url="http://static.cnbetacdn.com/newsimg/2013/1107/70_1383785654.png_w600.png";//"http://www.php.net"
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
                                          //启用时会将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_HEADER,1);
//3.执行并获取HTML文档内容
$output=curl_exec($ch);
if($output===false){  //错误检查
   echo "curl Error:".curl_error($ch);
}
$info=curl_getinfo($ch);//获取curl执行后这一请求相关信息
echo '<pre>';
print_r($info);
echo '</pre>';
echo '获取'.$info['url'].'耗时'.$info['total_time'].'秒';
file_put_contents('./test.png',$output);
$size=filesize('./test.png');
if($size!=$info['size_download']){
   echo '下载数据不完全';
}else{
   echo '下载数据完全';
}
//4.释放curl句柄
curl_close($ch);

//echo $output;


Demo

<?php
$binfo =array('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)','Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)','Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1)',$_SERVER['HTTP_USER_AGENT']);
//伪造头信息header
$cip = '123.125.68.'.mt_rand(0,254);
$xip = '125.90.88.'.mt_rand(0,254);
$header = array( 
	'CLIENT-IP:'.$cip, 
	'X-FORWARDED-FOR:'.$xip, 
);

function getinfo( $url,$userinfo,$header)
{
	 $ch = curl_init();
	 $timeout = 5;
	 curl_setopt ($ch, CURLOPT_URL, "$url");
	 curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
	 curl_setopt ($ch, CURLOPT_REFERER, "http://www.baidu.com/"); 
	 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
	 curl_setopt ($ch, CURLOPT_USERAGENT, "$userinfo");
	 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
	 $contents = curl_exec($ch);
	 curl_close($ch);
	 return $contents;
}
$url ='http://www.baidu.com';
$u = $binfo[mt_rand(0,3)];
$con = getinfo($url,$u,$header);
print_r($con) ;exit;
?>


PHP中的数据传输神器cURL

course http://www.imooc.com/learn/132

download http://img.mukewang.com/down/53e1845f00019b0100000000.rar

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于IEEE33节点的配电网韧性提升方法,重点研究了移动储能系统的预布局与动态调度策略。通过Matlab代码实现,提出了一种结合预配置和动态调度的两阶段优化模型,旨在应对电网故障或极端事件时快速恢复供电能力。文中采用了多种智能优化算法(如PSO、MPSO、TACPSO、SOA、GA等)进行对比分析,验证所提策略的有效性和优越性。研究不仅关注移动储能单元的初始部署位置,还深入探讨其在故障发生后的动态路径规划与电力支援过程,从而全面提升配电网的韧性水平。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事智能电网、能源系统优化等相关领域的工程技术人员。; 使用场景及目标:①用于科研复现,特别是IEEE顶刊或SCI一区论文中关于配电网韧性、应急电源调度的研究;②支撑电力系统在灾害或故障条件下的恢复力优化设计,提升实际电网应对突发事件的能力;③为移动储能系统在智能配电网中的应用提供理论依据和技术支持。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析,重点关注目标函数建模、约束条件设置以及智能算法的实现细节。同时推荐参考文中提及的MPS预配置与动态调度上下两部分,系统掌握完整的技术路线,并可通过替换不同算法或测试系统进一步拓展研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值