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中使用Oracle数据库(3)
Oct 09 PHP
PHP编实现程动态图像的创建代码
Sep 28 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 PHP
使用php实现截取指定长度
Aug 06 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
php实现的RSS生成类实例
Apr 23 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 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正则校验用户名介绍
2008/07/19 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
php模板引擎技术简单实现
2016/03/15 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
Javascript的无new构建实例详解
2016/05/15 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
JS实现直接运行html代码的方法
2017/03/13 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
python正则表达式re模块详解
2014/06/25 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
中式餐厅创业计划书范文
2014/01/23 职场文书
婚前财产公证书
2014/04/10 职场文书
企业安全生产责任书
2014/04/14 职场文书
实习报告评语
2014/04/26 职场文书
好好学习保证书
2015/02/26 职场文书
青涩记忆观后感
2015/06/18 职场文书
新兵入伍决心书
2015/09/22 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle