源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php中用socket模拟http中post或者get提交数据的示例代码

  • 时间:2022-10-12 03:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php中用socket模拟http中post或者get提交数据的示例代码
废话不多说。直接上代码: [b]sock_post.php: [/b]
[u]复制代码[/u] 代码如下:
<?php function sock_post($url, $data='') {   $url = parse_url($url);   $url['scheme'] || $url['scheme'] = 'http';   $url['host'] || $url['host'] = $_SERVER['HTTP_HOST'];   $url['path'][0] != '/' && $url['path'] = '/'.$url['path'];   $query = $data;   if(is_array($data)) $query = http_build_query($data);   $fp = @fsockopen($url['host'], $url['port'] ? $url['port'] : 80);   if (!$fp) return "Failed to open socket to $url[host]";   fputs($fp, sprintf("POST %s%s%s HTTP/1.0/n", $url['path'], $url['query'] ? "?" : "", $url['query']));   fputs($fp, "Host: $url[host]/n");   fputs($fp, "Content-type: application/x-www-form-urlencoded/n");   fputs($fp, "Content-length: " . strlen($query) . "/n");   fputs($fp, "Connection: close/n/n");   fputs($fp, "$query/n");   $line = fgets($fp,1024);   if (@!eregi("^HTTP/1/.. 200", $line))  return;   $results = "";   $inheader = 1;   while(!feof($fp)) {     $line = fgets($fp,1024);     if ($inheader && ($line == "/n" || $line == "/r/n")) {       $inheader = 0;     }elseif (!$inheader) {       $results .= $line;     }   }   fclose($fp);   return $results; }  $re = sock_post('http://localhost/direct_post/get_post.php?id=1',array('wel'=>'hello'));  echo $re; ?>
[b]get_post.php: [/b]
[u]复制代码[/u] 代码如下:
<?php echo "post:"; print_r($_POST); echo 'get:'; print_r($_GET); ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部