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写的留言本
Oct 09 PHP
php 方便水印和缩略图的图形类
May 21 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
Jun 01 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
获取URL文件名后缀
Oct 24 PHP
preg_match_all使用心得分享
Jan 31 PHP
PHP类的反射用法实例
Nov 03 PHP
php验证手机号码
Nov 11 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
PHP微信分享开发详解
Jan 14 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
菜单效果
2006/10/14 Javascript
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
简单的Python的curses库使用教程
2015/04/11 Python
flask中的wtforms使用方法
2018/07/21 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
python 批量将中文名转换为拼音
2021/02/07 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
新闻专业个人自我评价
2013/09/21 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
影子教师研修方案
2014/06/14 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
观看信仰心得体会
2014/09/04 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
2015年暑假工作总结
2015/07/13 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
Python基本知识点总结
2022/04/07 Python
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL