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 相关文章推荐
smarty实例教程
Nov 19 PHP
php 301转向实现代码
Sep 18 PHP
PHP DataGrid 实现代码
Aug 12 PHP
php程序效率优化的一些策略小结
Jul 17 PHP
php header功能的使用
Oct 28 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
php实现水仙花数示例分享
Apr 03 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
PHP递归实现层级树状展开
Apr 01 PHP
PHP函数引用返回的实例详解
Sep 11 PHP
PHP 计算两个特别大的整数实例代码
May 07 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
example1.php
2006/10/09 PHP
如何对PHP程序中的常见漏洞进行攻击
2006/10/09 PHP
php中cookie的作用域
2008/03/27 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
Python运用于数据分析的简单教程
2015/03/27 Python
python学生信息管理系统
2018/03/13 Python
python 中字典嵌套列表的方法
2018/07/03 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
学生思想表现的评语
2014/01/30 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
技术合作协议书范本
2014/04/18 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python