为什么Apache本地服务于Firefox,而不是VBScript?

时间:2013-03-06 20:48:36

标签: windows apache vbscript apache2 localhost

我安装了Apache 2.2。我可以使用127.0.0.1或192.168.1.7加载本地网页。 (我加载的网页存储在我的硬盘上。)当我尝试使用VBScript访问这些地址时,它不起作用。如果我使用VBScript访问Web,它可以正常工作,包括我在域名中使用IP地址。

这里的VBScript不适用于本地提供的文件,但可以在互联网上使用相同的文件。 (如果我使用127.0.0.1或192.168.1.7,则会将“Error”写入文件。)此脚本将网页上的所有URL写入文本文件。

Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)

'  The Chilkat Spider component/library is free.
set spider = CreateObject("Chilkat.Spider")

spider.Initialize "http://192.168.1.7/index.htm"
spider.AddUnspidered "http://192.168.1.7/index.htm"

success = spider.CrawlNext()

if success then 

For i = 0 To spider.NumOutboundLinks - 1
    outFile.WriteLine(spider.GetOutboundLink(i))
Next

else
    outFile.WriteLine("Error.")
end if 

以下是一些Apache访问日志。

Apache's log, running the VBScript (http://192.168.1.7/index.htm)
... GET /robots.txt HTTP/1.1" 404 208
... GET /index.htm HTTP/1.1" 200 365184
... GET /index.htm HTTP/1.1" 200 365184
Apache's log, loading the same from Firefox
... GET /index.htm HTTP/1.1" 200 365184
... GET /index_files/rsAItRhddGWakWTu2xcFYn5VJXiw_002.txt HTTP/1.1" 200 533363
... (additional accesses, with 200 and then different numbers)

关于此日志,本地保存的文件是Google搜索结果页面。 (用于测试。我不会将此用于Google。)VBScript将在实时互联网版本上运行,但不在本地服务。 Firefox加载本地提供的文件,它看起来与实时文件相同。

我的防火墙已关闭。 Apache 2.2; Windows XP SP3

1 个答案:

答案 0 :(得分:0)

我想你会在对Apache 500 Error due to User Agent?的回复中找到答案。实质上,Apache已设置为忽略具有空UserAgent字符串的请求。响应是指相关的UserAgent/.htaccess question

另见How to Block Unwanted Bots from Your Website with .htaccess