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 相关文章推荐
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
php自定义函数截取汉字长度
May 15 PHP
PHP防止post重复提交数据的简单例子
Jun 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
php函数连续调用实例分析
Jul 30 PHP
PHP实现根据数组的值进行分组的方法
Apr 20 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
PHP递归的三种常用方式
Feb 28 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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写的基于Memcache的Queue实现代码
2011/11/27 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php强制下载文件函数
2016/08/24 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
js计算页面刷新的次数
2009/07/20 Javascript
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
python实现12306火车票查询器
2017/04/20 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
python日志logging模块使用方法分析
2019/05/23 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
高一新生军训感言
2014/03/02 职场文书
经济担保书范文
2014/04/02 职场文书
幼儿园教师求职信
2015/03/20 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
Redis keys命令的具体使用
2022/06/05 Redis
mysql数据库如何转移到oracle
2022/12/24 MySQL