• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

利用PHP fsockopen 模拟POST/GET传送数据的方法

PHP admin 12个月前 (06-08) 7次浏览 未收录 0个评论

使用php可以模拟 post 和 get 传送数据到别的网页或站点

$arr=array(
  'user'=>'test',
  'password'=>''
);
sock_get($post_url,$arr);
sock_post($post_url,$arr); 
//fsocket模拟get提交
function sock_get($url,$query=array()){
  $query_str = http_build_query($query);
  $info = parse_url($url);
  $port = isset($info['port'])? $info['port'] : ;
  $query_str = empty($info["query"])?$query_str:$info["query"].'&'.$query_str;
  $fp = fsockopen($info["host"], $port, $errno, $errstr, );
  if(!$fp){
    return FALSE;
  }
  //$head = "GET ".$info['path']."?".$info["query"]." HTTP/.rn";
  $head = "GET ".$info['path']."?".$query_str." HTTP/.rn";
  $head .= "Host: ".$info['host']."rn";
  $head .= "rn";
  $write = fputs($fp,$head);
  while(!feof($fp)){
    $line = fread($fp,);
    echo $line;
  }
  fclose($fp);
  return true;
}
//fsockopen模拟POST
function sock_post($url,$data=array()){
  $query = http_build_query($data); 
  $info = parse_url($url);
  $fp = fsockopen($info["host"], , $errno, $errstr, );
  $head = "POST ".$info['path']."?".$info["query"]." HTTP/.rn";
  $head .= "Host: ".$info['host']."rn";
  $head .= "Referer: http://".$info['host'].$info['path']."rn";
  $head .= "Content-type: application/x-www-form-urlencodedrn";
  $head .= "Content-Length: ".strlen(trim($query))."rn";
  $head .= "rn";
  $head .= trim($query);
  $write = fputs($fp, $head);
  while (!feof($fp))
  {
    $line = fread($fp,);
    echo $line;
  }
}

以上内容是给大家分享的利用PHP fsockopen 模拟POST/GET传送数据的方法,希望大家能够喜欢,更多有关php fsockopen知识请持续关注本站,谢谢。

更多利用PHP fsockopen 模拟POST/GET传送数据的方法相关文章请关注PHP中文网!


39MO , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接:利用PHP fsockopen 模拟POST/GET传送数据的方法
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址