php中请求url的五种方法总结

yipeiwu_com7年前PHP代码库

本文主要给大家介绍了关于php中请求url的五种方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

五种方法:

  • 前三种都是php基本的文件操作函数
  • curl()是php扩展需要开启,linux下需要安装
  • exec()执行的是linux命令行下的命令wget下载远程文件

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

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

一、fopen()函数

$file = fopen("//www.jb51.net", "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://www.jb51.net/article/48866.htm");
readfile(https://www.jb51.net/article/48866.htm);

三、file_get_contents()函数

$content = file_get_contents(https://www.jb51.net/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");

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【宜配屋www.yipeiwu.com】的支持。

相关文章

php PDO中文乱码解决办法

// 方法一: PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NA...

因str_replace导致的注入问题总结

因str_replace导致的注入问题总结

研究了下replace的注入安全问题。 一般sql注入的过滤方式就是引用addslashes函数进行过滤。 他会把注入的单引号转换成\',把双引号转换成\",反斜杠会转换成\\等 写一...

模板引擎正则表达式调试小技巧

基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯/递归的限制。 惰性匹配并不可怕,正常情况下模板并不会不够用,往往不会超出限制,discuz的模板引擎就大量使用了。但是因此而不去...

详谈PHP中的密码安全性Password Hashing

如果你还在用md5加密,建议看看下方密码加密和验证方式。 先看一个简单的Password Hashing例子: <?php //require 'password....

完美解决php 导出excle的.csv格式的数据时乱码问题

完美解决php 导出excle的.csv格式的数据时乱码问题

1、header('Content-Encoding: XXXX'); 有可能是编码问题:可以尝试UTF-8,GBK,GB2312,等编码格式 2、有可能是文件编码问题,虽然UTF-8...