PHP中使用socket方式GET、POST数据实例

 更新时间:2015年04月02日 09:26:45   投稿:junjie  
这篇文章主要介绍了PHP中使用socket方式GET、POST数据实例,本文分别给出GET方式和POST方式的代码实例,需要的朋友可以参考下

1. 使用 PHP 获得网页内容 GET方式

复制代码 代码如下:

<?php
function socketGet($url, &$ret)
{
 $urlArr = parse_url($url);
 $host = $urlArr['host'];
 $port = isset($urlArr['port'])?$urlArr['port']:80;
 $path = isset($urlArr['path'])?$urlArr['path']:"/";
 $fp = fsockopen($host, $port, $errno, $errstr, 30);
 if (!$fp)
 {
  echo "$errstr ($errno)<br />\n";
  return false;
 }
 else
 {
     $out = "GET $path HTTP/1.1\r\n";
     $out .= "Host: $host\r\n";
     $out .= "Connection: Close\r\n\r\n";
  $ret = "";
     fwrite($fp, $out);
     while (!feof($fp))
  {
         $ret .= fgets($fp, 128);
     }
     fclose($fp);
 }
 return true;
}
?>

2. 使用 PHP 向页面 POST 数据

复制代码 代码如下:

<?php
function socketPost($url, $data, &$ret)
{
 $urlArr = parse_url($url);
 $host = $urlArr['host'];
 $port = isset($urlArr['port'])?$urlArr['port']:80;
 $path = isset($urlArr['path'])?$urlArr['path']:"/";
 $fp = fsockopen($host, $port, $errno, $errstr, 30);
 if (!$fp)
 {
     echo "$errstr ($errno)<br />\n";
  return false;
 }
 else
 {
     $out = "POST $path HTTP/1.1\r\n";
     $out .= "Host: $host\r\n";
  $out .= "Content-Type: application/x-www-form-urlencoded\r\n";
  $out .= "Content-Length: ".strlen($data)."\r\n";
     $out .= "Connection: Keep-Alive\r\n\r\n";
  $out .= $data;
  $ret = "";
     fwrite($fp, $out);
     while (!feof($fp))
  {
         $ret .= fgets($fp, 128);
     }
     fclose($fp);
 }
 return true;
}
?>

如果post报错,把$out .= "Connection: Keep-Alive\r\n\r\n";中的Keep-Alive改成Close

相关文章

  • laravel-admin的图片删除实例

    laravel-admin的图片删除实例

    今天小编就为大家分享一篇laravel-admin的图片删除实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Yii针对添加行的增删改查操作示例

    Yii针对添加行的增删改查操作示例

    这篇文章主要介绍了Yii针对添加行的增删改查操作,涉及Yii结合jQuery针对页面元素的动态操作及数据库增删改查等操作相关实现技巧,需要的朋友可以参考下
    2016-10-10
  • PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例

    PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例

    这篇文章主要介绍了PHP中迭代器的简单实现及Yii框架中的迭代器实现方法,结合实例形式分析了迭代器的原理及PHP与Yii框架中的迭代器的实现方法,需要的朋友可以参考下
    2020-04-04
  • Symfony2中被遗弃的getRequest()方法分析

    Symfony2中被遗弃的getRequest()方法分析

    这篇文章主要介绍了Symfony2中被遗弃的getRequest()方法,分析了getRequest方法的实现原理及实现替代request响应的get与post相关技巧,需要的朋友可以参考下
    2016-03-03
  • php生成图片验证码-附五种验证码

    php生成图片验证码-附五种验证码

    这篇文章主要给大家讲解php生成图片验证码,包括数字验证码、数字和字母验证码、中文验证码、仿google验证码、算术验证码,实现此功能主要通过GD库,生成一张带有验证码的图片,并把验证码存在session中,本文讲解的比较全面,需要的朋友可以参考下
    2015-08-08
  • Laravel 对某一列进行筛选然后求和sum()的例子

    Laravel 对某一列进行筛选然后求和sum()的例子

    今天小编就为大家分享一篇Laravel 对某一列进行筛选然后求和sum()的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP数据类型之布尔型的介绍

    PHP数据类型之布尔型的介绍

    布尔类型是PHP中 最简单的类型。它的值可以为 TRUE 或 FALSE
    2013-04-04
  • 测试php连接mysql是否成功的代码分享

    测试php连接mysql是否成功的代码分享

    很多情况下我们不知道是php错误,还是mysql用户名密码不对导致cms运行错误,可以先用下面的代码测试一下就可以了
    2014-01-01
  • 教你如何使用php session

    教你如何使用php session

    学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了。
    2013-10-10
  • php 目录遍历、删除 函数的使用介绍

    php 目录遍历、删除 函数的使用介绍

    本篇文章介绍了,php 目录遍历、删除 函数的使用分析。需要的朋友参考下
    2013-04-04

最新评论