php中请求url的五种方法总结


Posted in PHP onJuly 13, 2017

本文主要给大家介绍了关于php中请求url的五种方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

五种方法:

  • 前三种都是php基本的文件操作函数
  • curl()是php扩展需要开启,linux下需要安装
  • exec()执行的是linux命令行下的命令wget下载远程文件

其中wget命令在本地虚机测试请求http://www.baidu.com时,没有成功,在远程服务器上却可以,考虑时DNS解析的问题,于是直接请求IP成功下载了index.html的文件。

这里只提供了方法,其中的优缺点需要详细了解每一个方法的功能和缺陷。

一、fopen()函数

$file = fopen("https://3water.com", "r") or die("打开远程文件失败!");
while (!feof($file)) {
 $line = fgets($file, 1024);
 //使用正则匹配标题标记
 if (preg_match("/<title>(.*)<\/title>/i", $line, $out)) { 
 $title = $out[1]; //将标题标记中的标题字符取出
 break; //退出循环,结束远程文件读取
 }
}
fclose($file);

二、file()函数

$lines = file("https://3water.com/article/48866.htm");
readfile(https://3water.com/article/48866.htm);

三、file_get_contents()函数

$content = file_get_contents(https://3water.com/article/48866.htm);

四、curl() 请求远程url数据

$url = "http://www.baidu.com";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
curl_close($ch);

五、exec() 执行命令行命令

//exec("wget 220.181.111.188");
shell_exec("wget 220.181.111.188");

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
第十五节--Zend引擎的发展
Nov 16 PHP
php 页面执行时间计算代码
Dec 04 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
php字符串按照单词进行反转的方法
Mar 14 PHP
php简单实现快速排序的方法
Apr 04 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 PHP
如何判断微信付款码和支付宝付款码
Apr 01 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 #PHP
php获取'/'传参的值简单方法
Jul 13 #PHP
php多文件打包下载的实例代码
Jul 12 #PHP
php实现网页端验证码功能
Jul 11 #PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 #PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 #PHP
yii2局部关闭(开启)csrf的验证的实例代码
Jul 10 #PHP
You might like
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
经理助理岗位职责
2015/02/02 职场文书
亮剑观后感
2015/06/05 职场文书
网络营销实训总结
2015/08/03 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis