PHP中4种常用的抓取网络数据方法


Posted in PHP onJune 04, 2015

本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总。关于 fsockopen 前面已经谈了不少,下面开始转入其它。这里先简单罗列一下一些常见的抓取网络数据的一些方法。

1. 用 file_get_contents 以 get 方式获取内容:

$url = 'http://localhost/test2.php';
$html = file_get_contents($url);
echo $html;

2. 用fopen打开url,以get方式获取内容

$url = 'http://localhost/test2.php';
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
$result = '';
while(!feof($fp))
{
  $result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);

3. 用file_get_contents函数,以post方式获取url

$data = array(
 'foo'=>'bar',
 'baz'=>'boom',
 'site'=>'3water.com',
 'name'=>'nowa magic');
 
$data = http_build_query($data);

//$postdata = http_build_query($data);
$options = array(
 'http' => array(
 'method' => 'POST',
 'header' => 'Content-type:application/x-www-form-urlencoded',
 'content' => $data
 //'timeout' => 60 * 60 // 超时时间(单位:s)
 )
);

$url = "http://localhost/test2.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

echo $result;

4、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

$url = 'http://localhost/test2.php?site=3water.com';
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
PHP 相关文章推荐
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
详解php命令注入攻击
Apr 06 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 PHP
php实现将上传word文件转为html的方法
Jun 03 #PHP
php 类自动载入的方法
Jun 03 #PHP
php操作memcache缓存方法分享
Jun 03 #PHP
php操作redis缓存方法分享
Jun 03 #PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 #PHP
php使用GD实现颜色渐变实例
Jun 02 #PHP
PHP准确取得服务器IP地址的方法
Jun 02 #PHP
You might like
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
ie与ff下的event事件使用介绍
2013/11/25 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
Python实现的简单模板引擎功能示例
2017/09/02 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
QML用PathView实现轮播图
2020/06/03 Python
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
后备干部考察材料
2014/02/12 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
销售岗位职责范本
2014/06/12 职场文书
出售房屋委托书范本
2014/09/24 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书