Jetzt wird das Ding immer Runder, spuckt aber bei einigen/wenigen URL�s
Fehlermeldungen aus:
1.) Problem bei Sonderzeichen in den Metaangaben und Titel (werden falsch
dagestellt)
2.) Bei folgenden URL�s folgende Fehlermeldungen:
---
http://waskoschat.mainchat.de/ und
http://www.beepworld.de/members5/goldhamsterboy12
Serverobjekt-Fehler 'ASP 0177 : 800a01c9'
Server.CreateObject-Fehler
/toturl2.asp, Zeile 92
---
http://www.cokure.de
Laufzeitfehler in Microsoft VBScript-Fehler '800a0005'
Ung�ltiger Prozeduraufruf oder ung�ltiges Argument: 'MID'
/toturl2.asp, Zeile 61
Fehler unklar.....
---
3.) Dann gibt es noch ein Programmfehler bei komplett unbekannten URL�s.
Wenn jemand eine Unterseite angibt, wie www.test.de/dieseitegibtsnicht2323
dann gibt es den richtigen Ausdruck. Wenn aber jemand die URL angibt:
http://www.dieseitegibtsnicht2323.de dann l�uft das Programm auf einen
Fehler:
Fehler '80072ee7'
/toturl2.asp, Zeile 18
Es w�hre toll, wenn ihr einige Ans�tze finden w�rdet. Ich suche auch noch.
Hier der inzwischen der komplette Code:
Die URL�s stehen bei mir im selben Verzeichnis in der Datei:
aufgenomene-url.txt
<% @Language=VBScript %>
<% Server.ScriptTimeOut=6000 ' < nur am Anfang f�r alle URL�s sp�ter immer
eine Testen!
' *** Hier die URL die ausgelesen werden soll: ***
' *** Testurl = "Die URL mit http://" ***
' ***** URL aus TXT auslesen (vor�bergehend) *****
Set Dateiobjekt = Server.CreateObject("Scripting.FileSystemObject")
Set Textdatei =
Dateiobjekt.OpenTextFile(Server.MapPath("aufgenomene-url.txt"))
WHILE NOT Textdatei.AtEndOfStream
Testurl = Textdatei.ReadLine
' ***** URL aus DB auslesen *****
Set objHttp = CreateObject("Microsoft.XMLHTTP")
objHttp.Open "GET", Testurl, False
objHttp.Send
If left(objHttp.status,1)<>"2" then
if objHttp.status=301 then
response.write "permanent umgezogen nach " & _
objHttp.getResponseHeader("Location")
else
' *** Wenn Seite nicht existiert: ***
Seitetot = "ja"
response.write "URL nicht da...."
end if
else
' *** Wenn Seite existiert: ***
response.write "URL OK"
' *** Seite wirklich OK? ***
if objHttp.getResponseHeader("Location")<>"" then
response.write "URL wirklich OK?"
end if
end if
' *** Seite ist wirklich OK dann.... ***
if Seitetot <> "ja" then
Set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
objXmlHttp.open "GET", Testurl, False
objXmlHttp.send
' *** HTML auslesen ***
strHTML = objXmlHttp.responseText
Set objXmlHttp = Nothing
' *** HTML der Seite kleine und gro�e Zeichen f�r Suche ***
GrossStrHTML = Trim(strHTML)
KleinStrHTML = LCase(Trim(strHTML))
' *** Komplette Zeichenl�nge der HTML-Codes ***
LaengerStrHTML= Len(KleinStrHTML)
' *** Auslesen des Titels ***
WoIstTitel = Instr(KleinStrHTML,"<title>")
WoIstEndeTitel = Instr(KleinStrHTML,"</title>")
LaengeDesTitels = WoIstEndeTitel-WoIstTitel-7 ' 7 = len("<title")
Titel = MID(GrossStrHTML, WoIstTitel+7, LaengeDesTitels)
Response.Write "<b>"& Testurl &"</b><br>WoIstTitel: "& WoIstTitel
&"<br>Titel: "
Response.Write Titel &"<br>WoIstEndeTitel: "
Response.Write WoIstEndeTitel &"<br>LaendgerStrHTML: "
Response.Write LaengerStrHTML &"<br>StrHtml: "
Set objDict = Server.CreateObject("Scripting.Dictionary")
Call ParseMetaTags(GrossStrHTML, objDict)
arrTags = objDict.Keys
arrTagValues = objDict.Items
For i = 0 To (objDict.Count -1)
Response.Write arrTags(i) & " " & arrTagValues(i) & "<br>"
Next
Set objDict = Nothing
%>
<script language="jscript" runat="server">
function ParseMetaTags(strText2Parse, objDictionary)
{
var aMetaMatch = strText2Parse.match(/<\s*META[^>]*>/gi);
{
if (!aMetaMatch) return false;
var iNumMeta = aMetaMatch.length;
for (var i=0;i<iNumMeta;i++)
{
var sMetaMatch = aMetaMatch[i];
var aAttMatch =
sMetaMatch.match(/NAME\s*=\s*(["][^"]*["]|\S*)\s+CONTENT\s*=\s*(["][^"]*["]|
\S*)\s*/i);
objDictionary.Add(RegExp.$1, RegExp.$2);
}
}
}
</script>
<%
response.write "<hr><br>"
end if
' ***** DB Ende ****
WEND
Textdatei.Close
' ***** DB Ende ****
%>
| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp