php 发post包出错 可能问题是 你的 3.php 这个文件的问题,你上面的代码,我在本地运行了,正常的没什么问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议做简单的 3.php 文件测试。 你可以使用curl来代替socket的方式发送post数据给你个函数,调用它就可以了。function curlrequest($url,$postfield,$proxy=""){ $proxy=trim($proxy); $user_agent ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"; $ch = curl_init(); // 初始化CURL句柄 if(!empty($proxy)){ curl_setopt ($ch, CURLOPT_PROXY, $proxy);//设置代理服务器 } curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL //curl_setopt($ch, CURLOPT_FAILONERROR, 1); // 启用时显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息 //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);//启用时会将服务器服务器返回的“Location:”放在header中递归的返回给服务器 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);// 设为TRUE把curl_exec()结果转化为字串,而不是直接输出 curl_setopt($ch, CURLOPT_POST, 1);//启用POST提交 curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield); //设置POST提交的字符串 //curl_setopt($ch, CURLOPT_PORT, 80); //设置端口 curl_setopt($ch, CURLOPT_TIMEOUT, 25); // 超时时间 curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);//HTTP请求User-Agent:头 //curl_setopt($ch,CURLOPT_HEADER,1);//设为TRUE在输出中包含头信息 //$fp = fopen("example_homepage.txt", "w");//输出文件 //curl_setopt($ch, CURLOPT_FILE, $fp);//设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。 curl_setopt($ch,CURLOPT_HTTPHEADER,array( 'Accept-Language: zh-cn', 'Connection: Keep-Alive', 'Cache-Control: no-cache' ));//设置HTTP头信息 $result = curl_exec($ch); //执行预定义的CURL $info=curl_getinfo($ch); //得到返回信息的特性 //print_r($info); if($info['http_code']=="405"){ echo "bad proxy {$proxy}\n"; //代理出错 exit; } curl_close($ch); return $result; } 提示错误: Fatal error: Maximum execution time of 120 seconds exceeded in D:\Apache Software Foundation\Apache2.2\htdocs\3.php on line 20 错误提示不是明摆着说 在3.php 的20行执行超过了apache 的超时时间 120秒吗? 关于PHP中require_once和获取目标文件目录的问题 这个正则表达式怎么写? php的奇怪问题啊 smarty缓存文件名中的一堆乱码是什么? 如何批量输出数据(大数据中的一部分,不重复输出) 有一个函数是读取mysql的资源 是一次读取全部 不用循环的函数! **想自己建一个邮件广告网站吗,出售整套建站程序,超低价!!** 我想交一些温州地我的网友 php自学可以找工作吗 这段代码如何加? 求一个 rewrite 规则 有没有量网页元素大小的工具?
$proxy=trim($proxy);
$user_agent ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)";
$ch = curl_init(); // 初始化CURL句柄
if(!empty($proxy)){
curl_setopt ($ch, CURLOPT_PROXY, $proxy);//设置代理服务器
}
curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
//curl_setopt($ch, CURLOPT_FAILONERROR, 1); // 启用时显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);//启用时会将服务器服务器返回的“Location:”放在header中递归的返回给服务器
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);// 设为TRUE把curl_exec()结果转化为字串,而不是直接输出
curl_setopt($ch, CURLOPT_POST, 1);//启用POST提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield); //设置POST提交的字符串
//curl_setopt($ch, CURLOPT_PORT, 80); //设置端口
curl_setopt($ch, CURLOPT_TIMEOUT, 25); // 超时时间
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);//HTTP请求User-Agent:头
//curl_setopt($ch,CURLOPT_HEADER,1);//设为TRUE在输出中包含头信息
//$fp = fopen("example_homepage.txt", "w");//输出文件
//curl_setopt($ch, CURLOPT_FILE, $fp);//设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
'Accept-Language: zh-cn',
'Connection: Keep-Alive',
'Cache-Control: no-cache'
));//设置HTTP头信息
$result = curl_exec($ch); //执行预定义的CURL
$info=curl_getinfo($ch); //得到返回信息的特性
//print_r($info);
if($info['http_code']=="405"){
echo "bad proxy {$proxy}\n"; //代理出错
exit;
}
curl_close($ch);
return $result;
}
Fatal error: Maximum execution time of 120 seconds exceeded in D:\Apache Software Foundation\Apache2.2\htdocs\3.php on line 20 错误提示不是明摆着说 在3.php 的20行执行超过了apache 的超时时间 120秒吗?