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+javascript液晶时钟
Oct 09 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
php后门URL的防范
Nov 12 PHP
php向js函数传参的几种方法
Aug 10 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
Nov 20 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
yii 2.0中表单小部件的使用方法示例
May 23 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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
提取HTML标签
2006/10/09 PHP
杏林同学录(七)
2006/10/09 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
PHP常用的小程序代码段
2015/11/14 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
jQuery 选择器详解
2015/01/19 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
深入Python函数编程的一些特性
2015/04/13 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
Python网络编程详解
2017/10/31 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
python开发一款翻译工具
2020/10/10 Python
python3实现飞机大战
2020/11/29 Python
EJB与JAVA BEAN的区别
2016/08/29 面试题
中专毕业自我鉴定
2013/10/16 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
读书演讲主持词
2014/03/18 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
董事会决议范本
2015/07/01 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS