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 strtotime 函数UNIX时间戳
Jan 14 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
PHP return语句的另一个作用
Jul 30 PHP
PHP语法自动检查的Vim插件
Aug 11 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
自制PHP框架之模型与数据库
May 07 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
php 将json格式数据转换成数组的方法
Aug 21 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
python简单获取数组元素个数的方法
2015/07/13 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Flask-WTF表单的使用方法
2019/07/12 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
授权委托书范文
2014/07/31 职场文书
十佳党员事迹材料
2014/08/28 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang
javascript实现计算器功能详解流程
2021/11/01 Javascript
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python