WIKI Seite automatisch befüllen

  • fehlermeldungen tauchen da nicht auf. ich hab ein textfile nur mit dem inhalt "ersfgsfsfgsjfdgsd" erstellt. auch den inhalt übernimmt er nicht, verstehs absolut net wieso.

    hier nochmal mein code, leicht geändert:

  • ja genau die zeilenumbrüche sind das problem, ist mir gerade auch aufgefallen ;)

    aber mit diesem FF.au3 öffnet er meine wiki seite wieder nicht

  • Ich kann den Fehler mit diesem Link leider überhaupt nicht nachvollziehen, weder mit FF V2 noch V3.
    Ist das wirklich der den du verwendest? Dieser Link führt nur zu einem Seitenladefehler "Adresse nicht gefunden".

    So kann ich dir nicht weiterhelfen - ich kann leider nicht erraten wie die Adresse wirklich aussieht und weshalb sie nicht funktioniert.
    Ich könnte zwar die URL-Überprüfung ausbauen, aber das ist nicht wirklich sinnvoll, oder du machst das selbst in der FF.au3 indem du in der Funktion __FFIsURL einfach ein Return 1 einbaust.

    Kann jemand anderst das bitte mal testen?

    [EDIT]
    (Fast) ohne URL-Prüfung:
    http://thorsten-willert.de/Themen/AutoIt-…version/FFb.au3

    Grüße
    Stilgar

  • Ich hab hier mal ein paar verschiedene Methoden zusammengestellt:

    Spoiler anzeigen
    [autoit]

    _CheckURL("http://börsE.de/ind-rt.dg")
    _CheckURL("http://hh-1hallo.msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki")
    _CheckURL("http://hh-1hallo. msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _CheckURL($string)
    MsgBox(0, 'URL is:', $string & @CRLF & "Check different methods to validate")
    MsgBox(0, 'FF.au3', __LastFFIsURL($string))
    MsgBox(0, 'http://snippets.dzone.com/posts/show/452', StringRegExp($string,"(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?"))
    MsgBox(0, 'http://www.vbulletin.com/forum/showthread.php?t=161587', StringRegExp($string,'^([[:alnum:]\-\.])+(\.)([[:alnum:]]){2,4}([[:alnum:]/+=%&_\.~?\-]*)$'))
    MsgBox(0, 'http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx', StringRegExp($string,'^^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?((/?\w+/)+|/?)(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&\w+=\w+)*)?'))
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func __LastFFIsURL(ByRef $URL)
    Return (StringRegExp($URL, "\A(http://|https://|ftp://)([a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+|[a-zA-Z0-9\-_]+)\.[a-zA-Z\.]{2,6}(/[a-zA-Z0-9\.\?=/#%&\+-_]+|/|)\z") Or _
    StringLeft($URL, 6) = "about:" Or _
    StringLeft($URL, 7) = "chrome:")
    EndFunc ;==>__FFIsURL

    [/autoit]
  • Schön :)
    Die ich bisher gefunden hatte, waren noch schlechter als meine Methode ...
    Die Einzige was alle Beispiele richtig auswertet ist allerdings die von geekswithblogs.

    2 Mal editiert, zuletzt von Stilgar (27. Juni 2008 um 14:09)

  • Das 3. ist aber keine richtige URL, oder? Im Hostname dürfen keine Leerzeichen vorkommen, glaube ich.(wird von dzone als richtig gewertet)
    Und die von geekswithblogs erlaubt die börsE.de nicht, dabei ist das korrekt :P

  • Die mit Leerzeichen funktioniert doch auch nicht? Oder hab ich das nun falsch aufgeschrieben?

    Umlaute dürfen zwar in URLs (neuerdings - auch schon ein paar Jahre her) vorkommen, nur uncodiert meldet dir da jeder SGML-Parser einen Fehler und ohne Umstellung auf UTF-8 kann der IE (7) die ja nicht mal öffnen :rofl: Also bücher.de findet er schon. aber mit einen normalen link der einen Umlaut enthält mit dem kann er nix anfangen.

    Einmal editiert, zuletzt von Stilgar (27. Juni 2008 um 14:45)

  • Zitat

    Die mit Leerzeichen funktioniert doch auch nicht? Oder hab ich das nun falsch aufgeschrieben?


    Da hab ich undeutlich geschrieben. Ich hab gemeint, dass jeweils dzone und geekswithblogs was falsch machen :)

    Zitat

    ohne Umstellung auf UTF-8 kann der IE (7) die ja nicht mal öffnen :rofl: Also bücher.de findet er schon. aber mit einen normalen link der einen Umlaut enthält mit dem kann er nix anfangen.


    Stimmt. Aber Firefox kann das :) und wenn nicht, dann hätte ich einen Feature Request:
    IDN -> PUNYCODE

  • Noch mal getestet, also:

    "http://börsE.de/ind-rt.dg"
    "http://hh-1hallo.msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki"
    "http://hh-1hallo. msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki"

    1 URL / FF:0 Snipptes:1 vbulletin:0 geekswithblogs:0
    2 URL / FF:0 Snipptes:1 vbulletin:0 geekswithblogs:1
    3 URL / FF:0 Snipptes:1 vbulletin:0 geekswithblogs:0
    (gibts hier keine Tabellen?)

    So wie ich das nun interpretiere ist doch nun die RegEx von geekswithblogs die "richtigste" wenn ich (bzw. ein SGML-Parser) darauf bestehe, daß Umlaute in URLs codiert sein müßen, oder?

  • das befüllen der seite funktioniert wunderbar, wenn ich keine zeilenumbrüche mitgebe

    ohne zeilenumbrüche:

    Code
    While 1
    	$line = FileReadLine($file)
    	If @error = -1 Then ExitLoop
    		$tmp &= $line
    Wend

    mit zeilenumbrüchen:

    Code
    While 1
    	$line = FileReadLine($file)
    	If @error = -1 Then ExitLoop
    		$tmp &= $line & $zeile
    Wend

    Konsoleausgabe mit zeilenumbrüche:
    __FFSend: ;
    __FFWaitForRepl ==> Error return value: MozRepl ....>
    __FFRecv:
    _FFSetGet ==> Error return value
    _FFSetValueByName ==> No match

  • Hallo,
    mit Zeilenumbrüchen klappt es hier.
    Der "Error return value" kommt momentan immer, da ich die Auswertung noch nicht angepaßt habe.
    Enthält dein Text vielleicht irgendwelche Sonderzeichen, die ich noch berücksichtigt habe?
    Was sendest du denn alles?