PHP的Snoopy.class.php

使用PHP读取HTTP页面基本使用Snoopy,使用简单方便易用。

最近在使用过程中发现一些问题,读取某些服务器的时候会发现获取不到页面内容。

留意Snoopy的Header请求头的时候发现,对于HOST请求是类似
HOST: hostname:port
看代码,只要端口存在,就使用该方式发送请求。

但观察浏览器请求时发现如果端口为80的时候,会省略掉端口号。

按这个方式改造一下Snoopy的代码,加入判断端口号,如果端口号为80的情况下,则直接使用
HOST: hostname
否则使用
HOST: hostname:port

这样改写代码后上面的问题就解决了。

问题的原因不太清楚,呵呵,对于HTTP协议始终就是模棱两可一知半解,实用至上主义,问题解决就不管了。

另外,还有一个问题就是,自官方下载到的Snoopy.class.php的编码问题,这个文件使用的是“阿拉伯语(Windows)”进行编码的,至少在这个编码下查看没有乱码。
为了方便日后改写代码,我是利用阿拉伯语(Windows)打开,然后Copy无乱码的代码另存为UTF-8编码,方便日后更改处理。

Deepseath Modified from Green Hope Theme · Proudly powered by WordPress · 津ICP备09005418号  津公网安备 12010302001005号