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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
把PHP安装为Apache DSO
Oct 09 PHP
PHP脚本的10个技巧(6)
Oct 09 PHP
一些PHP写的小东西
Dec 06 PHP
介绍几个array库的新函数 php
Dec 29 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
jQuery实现简单滚动动画效果
2016/04/07 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
Python线程指南详细介绍
2017/01/05 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
学习python可以干什么
2019/02/26 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
如何利用find命令查找文件
2016/11/18 面试题
高校毕业生自我鉴定
2013/10/27 职场文书
批评与自我批评材料
2014/02/15 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
开工典礼策划方案
2014/05/23 职场文书
委托书怎么写
2014/07/31 职场文书
法人委托书
2014/07/31 职场文书
银行培训心得体会范文
2016/01/09 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
源码安装apache脚本部署过程详解
2022/09/23 Servers