资讯专栏INFORMATION COLUMN

php下请求url的几种方式

enda / 672人阅读

摘要:函数打开远程文件失败使用正则匹配标题标记将标题标记中的标题字符取出退出循环,结束远程文件读取函数函数请求远程数据执行命令行命令

总结了5种方法:

前三种都是php基本的文件操作函数

curl()是php扩展需要开启,linux下需要安装

exec()执行的是linux命令行下的命令wget下载远程文件

其中wget命令在本地虚机测试请求http://www.baidu.com时,没有成功,在远程服务器上却可以,考虑时DNS解析的问题,于是直接请求IP成功下载了index.html的文件。

这里只提供了方法,其中的优缺点需要详细了解每一个方法的功能和缺陷。

1.fopen()函数

$file = fopen("http://www.jb51.net", "r") or die("打开远程文件失败!");
while (!feof($file)) {
    $line = fgets($file, 1024);
    //使用正则匹配标题标记
    if (preg_match("/(.*)/i", $line, $out)) {     
        $title = $out[1];     //将标题标记中的标题字符取出
        break;     //退出循环,结束远程文件读取
    }
}
fclose($file);

2.file()函数

$lines = file("http://www.jb51.net/article/48866.htm");
readfile("http://www.jb51.net/article/48866.htm");

3.file_get_contents()函数

$content = file_get_contents("http://www.jb51.net/article/48866.htm");

4.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);

5.exec() 执行命令行命令

//exec("wget 220.181.111.188");
shell_exec("wget 220.181.111.188");

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22367.html

相关文章

  • 总结跨域几种方式

    摘要:比如域的页面通过嵌入了一个域的页面,可以通过以下方法实现和的通信通过跨域以上几种都是双向通信的,即两个,页面与或是页面与页面之间的,下面说几种单项跨域的一般用来获取数据,因为通过标签引入的是不受同源策略的限制的。 跨域整理@(前端笔记) 跨域 只要协议、域名、端口有任何一个不同,都被当作是不同的域。由于浏览器的同源策略,其限制之一是不能通过ajax的方法情趣请求不同源的文档。第二个限制...

    diabloneo 评论0 收藏0
  • PHP 实现定时任务几种方法

    摘要:为系统增加的第一行代码不会影响该脚本在下的运行,因此您也可以用该方法编写跨平台的脚本程序。指定会话页面在客户端中的有限期分钟缺省下为分钟。最原始的博主没有找到,只能在此声明,特为转载。 这几天需要用PHP写一个定时抓取网页的服务器应用. 在网上搜了一下解决办法, 发现OSchina的 一个问题的解答很精彩(值得一看,谢谢大牛们的精彩回答O(∩_∩)O~), 提出几种解决办法.现总结如下...

    huhud 评论0 收藏0
  • workerman / 小谈PHP几种运行模式

    摘要:话说当下一共有种运行模式,分别是和模块模式。使用,全称进程管理器进行管理。工作原理启动时载入进程管理器进程管理器自身初始化,启动多个解释器进程并等待来自的连接当客户端请求到达时,进程管理器选择并连接到一个解释器。 我们知道 workerman 程序需要在php-cli模式下运行,也就是命令行模式,这块我们有必要了解一下。 话说PHP当下一共有4种运行模式,分别是CGI、FastCGI、...

    darkbaby123 评论0 收藏0
  • PHP发送HTTP请求几种方式

    摘要:发送请求的方式那么这里整理一下除了使用外发送请求的方式。以一个请求为例关于的介绍文章方式使用套接字建立连接,拼接协议字符串发送数据进行请求。一个方式的例子本文介绍了发送请求的几种不同的方式。 (原文地址:https://blog.tanteng.me/2017/... 副标题:cURL库和Guzzle HTTP客户端区别 PHP 开发中我们常用 cURL 方式封装 HTTP 请求,什么...

    Stardustsky 评论0 收藏0
  • thinkphp3.1几种部署模式

    摘要:部署的时候,官方文档推荐了两种部署方式。目录结构这样组方式的调用公共的库不需要修改默认的。访问就是访问即通过目录结构这是官方推荐的分组模式。项目分组设定默认分组访问访问这种模式让模块有一个比较短的路径 部署thinkphp的时候,3.1官方文档推荐了两种部署方式。 目录结构 -Admin -index.php -.htacess -Home -index.php -.h...

    LancerComet 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<