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 相关文章推荐
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
分享PHP header函数使用教程
Sep 05 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
php单一接口的实现方法
Jun 20 PHP
php实现购物车功能(下)
Jan 05 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
实例解析php的数据类型
Oct 24 PHP
PHP设计模式之命令模式示例详解
Dec 20 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 curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python3实现基于用户的协同过滤
2018/05/31 Python
Python格式化日期时间操作示例
2018/06/28 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python脚本后台执行方式
2019/12/21 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
python实现四人制扑克牌游戏
2020/04/22 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
python 等差数列末项计算方式
2020/05/03 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
《蚕姑娘》教学反思
2014/04/15 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
护士节策划方案
2014/05/19 职场文书
房展策划方案
2014/06/07 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle