php使用fsockopen函数发送post,get请求获取网页内容的方法


Posted in PHP onNovember 15, 2014

本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。

具体实现代码如下:

$post =1; 

$url = parse_url($url); 

$host ='https://3water.com'; 

$path ='/'; 

$query ='?action=phpfensi.com'; 

$port =80; 

  

if($post) { 

  $out = "post $path http/1.0 "; 

  $out .= "accept: */* "; 

  //$out .= "referer: $boardurl "; 

  $out .= "accept-language: zh-cn "; 

  $out .= "content-type: application/x-www-form-urlencoded "; 

  $out .= "user-agent: $_server[http_user_agent] "; 

  $out .= "host: $host "; 

  $out .= 'content-length: '.strlen($post)." "; 

  $out .= "connection: close "; 

  $out .= "cache-control: no-cache "; 

  $out .= "cookie: $cookie "; 

  $out .= $post; 

 } else { 

  $out = "get $path http/1.0 "; 

  $out .= "accept: */* "; 

  //$out .= "referer: $boardurl "; 

  $out .= "accept-language: zh-cn "; 

  $out .= "user-agent: $_server[http_user_agent] "; 

  $out .= "host: $host "; 

  $out .= "connection: close "; 

  $out .= "cookie: $cookie "; 

 } 

 $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); 

 if(!$fp)  

 { 

  return '';//note $errstr : $errno  

 } else { 

  return '成功访问'; 

 }

fsockopen语法:
resource fsockopen(string $hostname [,int $port = -1 [, int &$errno [,string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

启动一个套接字连接到指定的主机的资源,php支持在互联网领域的目标和unix在所支持的套接字传输列表说明,所支持的传输列表也可以检索使用stream_get_transports().

该插座预设会被启用,阻塞模式,你可以切换到非阻塞模式使用stream_set_blocking(),如果上面实例看不懂,就来看个简的吧,代码如下:

$fp = fsockopen("3water.com", 80, $errno, $errstr, 30); 

 if (!$fp) { 

  echo "$errstr ($errno) "; 

 } else { 

  $out = "get / http/1.1 "; 

  $out .= "host: 3water.com"; 

  $out .= "connection: close "; 

  fwrite($fp, $out); 

  while (!feof($fp)) { 

   echo fgets($fp, 128); 

  } 

  fclose($fp); 

 }

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
文件上传程序的全部源码
Oct 09 PHP
PHP HTML代码串截取代码
Dec 29 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
php函数与传递参数实例分析
Nov 15 #PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 #PHP
php中strtotime函数用法详解
Nov 15 #PHP
php中opendir函数用法实例
Nov 15 #PHP
php中in_array函数用法分析
Nov 15 #PHP
php中mkdir函数用法实例分析
Nov 15 #PHP
php中explode函数用法分析
Nov 15 #PHP
You might like
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
JavaScript QueryString解析类代码
2010/01/17 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
angular.bind使用心得
2015/10/26 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
用pycharm开发django项目示例代码
2018/10/24 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
Python新手学习标准库模块命名
2020/05/29 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
C语言50道问题
2014/10/23 面试题
入职担保书怎么写
2014/05/12 职场文书
授权委托书(完整版)
2014/09/10 职场文书
客户付款通知书
2015/04/23 职场文书
导游词之吉林花园山
2019/10/17 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
python面向对象版学生信息管理系统
2021/06/24 Python