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中使用灵巧的体系结构
Oct 09 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
php+ajax实现无刷新分页
Nov 18 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 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自定义apk安装包实例
2014/10/20 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
Yii全局函数用法示例
2017/01/22 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
jquery replace方法去空格
2017/05/08 jQuery
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python正则表达式match和search用法实例
2015/03/26 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
python flask搭建web应用教程
2019/11/19 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
高三历史教学反思
2014/01/09 职场文书
金融专业大学生自我评价
2014/01/09 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
安全月活动总结
2014/05/05 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
一文解答什么是MySQL的回表
2022/08/05 MySQL