收藏本站 
广告服务 
网站地图 
>> 为你提供近10万篇各类电脑技术文章、网络技术教程、软件技术文章、网页设计教程、平面设计教程、数据库技术教程等方面的电脑教程!
先飞电脑技术网技术文章网络编程PHP技术
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |

用PHP模拟Post来提交数据

[ 作者:佚名    转贴自:网络转载    阅读次数:109    更新时间:2007-11-15 14:03:00   录入:刘光勇 ]         
    利用php的socket编程来直接给接口发送数据来模拟post的操作。

<?PHP    
     $flag
= 0
;
    
//要post的数据
$argv
= array(
     
'var1'=>'abc'
,
     
'var2'=>'你好吗'
);
//构造要post的字符串
foreach ($argv as $key=>$value
) {
      if (
$flag!=0
) {
             
$params .= "&"
;
             
$flag = 1
;
      }
     
$params.= $key."="; $params.= urlencode($value
);
     
$flag = 1
;
      }
     
$length = strlen($params
);
         
//创建socket连接
     
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno
);
     
//构造post请求的头
     
$header = "POST /mobile/try.php HTTP/1.1\r\n"
;
     
$header .= "Host:127.0.0.1\r\n"
;
     
$header .= "Referer:/mobile/sendpost.php\r\n"
;
     
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"
;
     
$header .= "Content-Length: ".$length."\r\n"
;
     
$header .= "Connection: Close\r\n\r\n"
;
     
//添加post的字符串
     
$header .= $params."\r\n"
;
     
//发送post的数据
     
fputs($fp,$header
);
     
$inheader = 1
;
      while (!
feof($fp
)) {
             
$line = fgets($fp,1024);
//去除请求包的头只显示页面的返回数据
             
if ($inheader && ($line == "\n" || $line == "\r\n"
)) {
                 
$inheader = 0
;
              }
              if (
$inheader == 0
) {
                  echo
$line
;
              }
      }
fclose($fp
);
?>

还可以使用php类HttpClient

文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“用PHP模拟Post来提交数据”版权归文章所有者,转载请注明出处!
 ·上一篇文章:PHP网页制作常用的正则表达式      ·下一篇文章:PHP字符串操作入门教程
相关文章
·用PHP模拟Post来提交数据[109]
·ARP攻击100%解决方案 用PPPOE解决问题[37]
·用Photoshop打造真实的铅笔素描画[82]
·在Premiere中使用Photoshop制作的字幕[87]
·Premiere中使用Photoshop的插件[79]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 隐私政策 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网