PHP的fopen()方法将指定的文件资源绑定到一个流上。如果文件路径是”scheme://…” 的格式,则被当成一个URL,PHP将搜索对应的协议处理器(也被称为封装协议)来处理此模式。因此可以通过fopen()方法来获取大部分的网页前台源代码。

但是,很多网站出于安全性考虑,在处理请求时,往往会对请求来源的合法性进行验证,这个时候简单的通过上述方式来获取网页源代码时,将会被目标服务器拒绝。此时,我们就需要模拟HTTP的方式来发送GET/POST请求,从而合法得通过目标服务器的验证,再通过获取请求的响应输出流来得到网页前台源代码。

下面是利用fsockopen方法打开网站的Scoket连接,通过构造并发送HTTP报文头来模拟HTTP情求来实现获取网页源代码的方法:

// 需要访问的网页地址

$url = “http://www.example.com/index.html”;

// 打开网页Scoket连接

$handler = fopen($url, "r");

if (!$handler) {

// 发送HTTP报文头

$host = "www.example.com";

$request = "/index.html";

$header = "GET " . $request . " HTTP/1.1\r\n";

$header .= "Host: " . $host . "\r\n";

$header .= "Connection: Close\r\n\r\n";

$handler = fsockopen($host, 80);

fwrite($handler, $header);

}

// 读取网页响应数据

while (!feof($handler)) {

$line = fgets($handler, 1024);

echo($line);

}

// 关闭网页Scoket连接

fclose($handler);

其中HTTP报文头的结构可以根据网页请求的具体需要来添加其它相关信息。

访问php网页显示源代码_关于PHP中获取网页源代码的说明相关推荐

  1. python显示表格_在Python中获取Excel表格的数量

    How get number of sheet in below python example? file = self.excel_file.decode('base64') excel_fileo ...

  2. HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码...

    HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML ...

  3. HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码

    HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML ...

  4. java 流的方式抓取网页 但是显示不全_用java抓取网页源代码时总是无法获取完整的源代码信息,求指导...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 无论是用urlconnection还是httpurlconnection都只能获得一部分网页源代码(即有的标签内容在网页上右键-查看源代码能看到,但是用下 ...

  5. 网页显示 :mad:_在网页上写乐谱:基础

    网页显示 :mad: The final project in my 1st year web development class is to design and develop a site to ...

  6. mysql 数据为空 none 网页显示空白_用python爬虫爬取股票数据

    前言: 编写一个爬虫脚本,用于爬取东方财富网的上海股票代码,并通过爬取百度股票的单个股票数据,将所有上海股票数据爬取下来并保存到本地文件中 系统环境: 64位win10系统,64位python3.6, ...

  7. django链接mysql网页显示数据_使用Django连接mysql数据库并显示在网页上

    由于使用Django框架来做网站,需要动态显示数据库内的信息,所以读取数据库必须要做 接下来分两步来做这个事,添加网页,读取数据库: 一.添加网页 首先需要在工程中新建一个app python man ...

  8. win10默认浏览器不显示谷歌浏览器_浅析win10系统谷歌浏览器网页显示不正常的应对办法...

    今天小编给大家浅析win10系统谷歌浏览器网页显示不正常的应对办法,谷歌浏览器是一款设计简单.高效的Web浏览工具,因此受到很多用户的喜爱.但有用户反馈,遇到了谷歌浏览器网页打开显示不正常的问题,不知 ...

  9. html如何制作查看更多横条,页面浏览量顶部横条显示代码-附“Js/Jquery获取网页屏幕可见区域高度”...

    偶然看到这个页面浏览量显示的东东,很有意思,自己做了一个. 代码如下:html> 页面浏览量顶部横条显示 $(function(){ $(window).scroll(function() { ...

  10. python爬取网页实时数据_使用 Python 爬取网页数据

    1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 ...

最新文章

  1. beats x连android手机吗,beats x 能连安卓手机吗?
  2. 第十二周项目一-实现复数类中的运算符重载(2)
  3. 流式机器学习算法的入门和认知
  4. 重试次数配置_TestNG实践——2.用例失败重试
  5. linux qt libs,linux下qt使用第三方库的那些事
  6. springboot创建parent_Spring Boot 开篇:快速入门
  7. Shell字符串处理之 ${}
  8. 换了一个皮肤,心情也好多了
  9. 基于8086CPU微处理器的汇编学习之JMP指令
  10. Python赋值语句浅析
  11. 网站制作---asp操作数据库的一个小例子
  12. Win10人脉应用将关闭与新浪微博关联
  13. Linux进程间通信之信号量
  14. 阿里云容器服务Kubernetes之Jenkins X(2)-自动化CICD实践篇
  15. 爬取飞猪IP免费代理练习
  16. 网传华为员工未加班领夜宵被冻薪降考评,并终身不得领夜宵
  17. C博客作业02--循环结构
  18. 通过css实现按钮高亮
  19. 红米note3全网通(kenzo)非官方解锁
  20. Hyper-v安装及使用详细教程

热门文章

  1. L2行情接口怎么用最高效?
  2. 内向的人和陌生人聊天,如何做到有话可说
  3. Microsoft-Yahoo: Not Again. Why Again?
  4. ClickHouse可视化DBM Release 1.13.0
  5. python实现局域网内使用TCP服务器传输文件
  6. 从EDN上看的文章 如何提高手机的待机时长
  7. 禁用IE设置代理检测不通过怎么办!
  8. qq大厅连连看外挂:c++实现
  9. 关于SEL的一些总结
  10. speedoffice表格如何冻结窗格?