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 相关文章推荐
用PHP创建PDF中文文档
Oct 09 PHP
PHP安全配置
Dec 06 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
ThinkPHP表单令牌错误的相关解决方法分析
May 20 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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
基于mysql的论坛(4)
2006/10/09 PHP
phpwind中的数据库操作类
2007/01/02 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python中的随机函数random的用法示例
2018/01/27 Python
python操作redis方法总结
2018/06/06 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
详解Python IO口多路复用
2020/06/17 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
C++的几个面试题附答案
2016/08/03 面试题
数据库笔试题
2013/05/09 面试题
药学专业个人的自我评价
2013/12/31 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
委托书格式要求
2015/01/28 职场文书
小学毕业教师寄语
2019/06/21 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电