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 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
批量修改RAR文件注释的php代码
Nov 20 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
php array_walk() 数组函数
Jul 12 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
PHP实现linux命令tail -f
Feb 22 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP/HTML混写的四种方式总结
Feb 27 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP生成短网址的思路以及实现方法的详解
Mar 25 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 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 获取一个月第一天与最后一天的代码
2010/05/16 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
python实现上传下载文件功能
2020/11/19 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
linux面试题参考答案(7)
2012/10/29 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
《盲人摸象》教学反思
2014/02/16 职场文书
党员承诺书范文
2014/05/19 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
Pandas自定义选项option设置
2021/07/25 Python
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers