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的知识
Nov 17 PHP
解析php中call_user_func_array的作用
Jun 07 PHP
如何取得中文字符串中出现次数最多的子串
Aug 08 PHP
php中的静态变量的基本用法
Mar 20 PHP
php数组中包含中文的排序方法
Jun 03 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
php简单截取字符串代码示例
Oct 19 PHP
PHP判断一个数组是另一个数组子集的方法详解
Jul 31 PHP
Yii支持多域名cors原理的实现
Dec 05 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
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
node 利用进程通信实现Cluster共享内存
2017/10/27 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
Angular4学习之Angular CLI的安装与使用教程
2018/01/04 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
利用python实现汉诺塔游戏
2021/03/01 Python
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
会议活动邀请函
2014/01/27 职场文书
集中整治工作方案
2014/05/01 职场文书
新闻发布会策划方案
2014/06/12 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
员工工作表现自我评价
2015/03/06 职场文书
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python