我安装了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
答案 0 :(得分:0)
我想你会在对Apache 500 Error due to User Agent?的回复中找到答案。实质上,Apache已设置为忽略具有空UserAgent字符串的请求。响应是指相关的UserAgent/.htaccess question。
另见How to Block Unwanted Bots from Your Website with .htaccess