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 相关文章推荐
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
php 获取远程网页内容的函数
Sep 08 PHP
php 文章调用类代码
Aug 11 PHP
三种php连接access数据库方法
Nov 11 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
php的无刷新操作实现方法分析
Feb 28 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程序时遇到的三个问题
2012/01/17 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
js不是基础的基础
2006/12/24 Javascript
js 事件小结 表格区别
2007/08/13 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python编写暴力破解FTP密码小工具
2014/11/19 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python如何输出警告信息
2020/07/30 Python
Python打印不合法的文件名
2020/07/31 Python
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
网络教育自我鉴定
2013/11/01 职场文书
服装发布会策划方案
2014/05/22 职场文书
解放思想演讲稿
2014/09/11 职场文书
闪闪红星观后感
2015/06/08 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
MySQL的安装与配置详细教程
2021/06/26 MySQL