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 相关文章推荐
用phpmyadmin更改mysql5.0登录密码
Mar 25 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
深入apache配置文件httpd.conf的部分参数说明
Jun 28 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
Nov 18 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
php读取本地json文件的实例
Mar 07 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 PHP
PHP使用QR Code生成二维码实例
Jul 07 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上传图片类显示缩略图功能
2016/06/30 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
Python接口开发实现步骤详解
2020/04/26 Python
详解Python yaml模块
2020/09/23 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
师德师风演讲稿
2014/05/05 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
德能勤绩工作总结
2015/08/11 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js