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用mysql数据库存储session的代码
Mar 05 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
Laravel推荐使用的十个辅助函数
May 10 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
PHP实现随机发扑克牌
Apr 22 PHP
一文搞懂PHP中的抽象类和接口
May 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&amp;&amp;mysql)六
2006/10/09 PHP
php HTML无刷新提交表单
2016/04/05 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
javascript date格式化示例
2013/09/25 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
js显示文本框提示文字的方法
2015/05/07 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
js实现抽奖效果
2017/03/27 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
Python入门篇之正则表达式
2014/10/20 Python
python爬虫的工作原理
2017/03/05 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
Python实现多属性排序的方法
2018/12/05 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
信息管理专业学生自荐信格式
2013/09/22 职场文书
经费申请报告范文
2015/05/18 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python