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 相关文章推荐
基于文本的访客签到簿
Oct 09 PHP
信用卡效验程序
Oct 09 PHP
生成php程序的php代码
Apr 07 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP数组操作简单案例分析
Oct 15 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
PHP反射原理与用法深入分析
Sep 28 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中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP生成压缩文件实例
2015/02/07 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
jquery 表单取值常用代码
2009/12/22 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python反转序列的方法实例分析
2018/03/21 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
pandas 数据类型转换的实现
2020/12/29 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
财务会计专业毕业生自荐信
2013/10/19 职场文书
优秀教师先进事迹
2014/01/22 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
党员评议个人总结
2014/10/20 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
合作意向书怎么写
2019/06/24 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript