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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
初级的用php写的采集程序
Mar 16 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
PHP Zip压缩 在线对文件进行压缩的函数
May 26 PHP
PHP插入排序实现代码
Apr 04 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
详解PHP中的PDO类
Jul 06 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
PHP7 list() 函数修改
Mar 09 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简单获取文件扩展名的方法
2015/03/24 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
JS原型链怎么理解
2016/06/27 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
一张图带我们入门Python基础教程
2017/02/05 Python
Python之os操作方法(详解)
2017/06/15 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
Django中的静态文件管理过程解析
2019/08/01 Python
python 实现list或string按指定分段
2019/12/25 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
会计找工作求职信范文
2013/12/09 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
体育馆的标语
2014/06/24 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
银行自荐信怎么写
2015/03/05 职场文书
2016年国陪研修感言
2015/11/18 职场文书
手把手教你导入Go语言第三方库
2021/08/04 Golang