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

Antwort per Email an