• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Bug in 0.9m beim spidern von gc.com

2cachefix

Geomaster
ich habe das mit der Be250 probiert. Das Ergebnis ist das gleiche.

Meldung:
Could not get list
java.lang.NullPointerException: Null String Given to Regex.search
at com.stevesoft.ewe_pat.Regex.search(Regex.java:559)
at CacheWolf.SpiderGC.doIt(SpiderGC.java:242)
at CacheWolf.MainMenu.onEvent(MainMenu.java:416)
at ewe.ui.Control.postEvent(Control.java)
at ewe.ui.MenuState.onEvent(MenuState.java)
at ewe.ui.Control.sendToListeners(Control.java)
at ewe.ui.Control.postEvent(Control.java)
at ewe.ui.Menu.postEvent(Menu.java)
at ewe.ui.Control.notifyAction(Control.java)

log.txt:
06.11.2006/7:54: Fetching login page
06.11.2006/7:54: Logging in
06.11.2006/7:54: Login successfull
06.11.2006/7:54: Fetching first list page: http://www.geocaching.com/seek/nearest.aspx?lat=50.67223&lon=006.61223&f=1
06.11.2006/7:54: Error fetching first list page


Im Browser kann ich mir die Seite ansehen.


Spidern von Opencaching geht auch nicht.

Meldung:
Proxy here: http://www.opencaching.de/xml/ocxml11.php?modifiedsince=200508010000
00&cache=1&cachedesc=1&picture=1&cachelog=1&removedobject=0&lat=50.00000&lon=006
.00000&distance=1&charset=utf-8&cdata=0&session=0

im Browser bekomme ich 'Invalid modifiedsince value (wrong length)' angezeigt
 

2cachefix

Geomaster
Wer weiss vielleicht wird hier auch irgendwas durch die Firewall geblockt. Komisch finde ich nur, dass es über den Browser funktioniert. Wenn ich der Einzige bin, der das Problem hat, muss es sich ja um ein hiesiges handeln.
 

Reini

Geocacher
Ich hatte genau das gleiche Problem beim Login über das freie Wifi Netz eines Flughafens. Über den Browser funktionierte es, aber Cachewolf konnte nicht spidern.

Habe versucht der Sache mit dem Debugger unter Eclipse auf die Schliche zu kommen. Dabei stellte ich fest, daß bei Cachewolf keine Headerinformation mit den Cookies ankommt. Dadurch wird das Session Cookie auf null gesetzt und führt zu obigem Fehler. Warum die Headerinformationen fehlen ist mir noch nicht klar, da sie beim Surfen mir dem Browser offensichtlich doch ankommen. Kann es sich hier um ein Problem der EWE Virtual Machine handeln?
 

Bilbowolf

Geowizard
@2cachefix:

In der neuen BE 254 habe ich das logging erweitert. Kannst Du bitte den Test wiederholen.

Mich würde auch interessieren, ob das Problem mit der Win als auch mit der Java Version autritt.
 

2cachefix

Geomaster
Hey,

ich habe einen Test versucht. Nach Eingabe des Passwortes passiert nichts mehr. Keine Frage nach der Distanz, aber auch kein Fehler. Ein Log.txt wird auch nicht erstellt. Einfach nichts.

Das Laden von mehreren GPX.ZIP läuft nun einwandfrei.
 

Bilbowolf

Geowizard
Kannst Du aussuchen :)


Win ?!? Mist! Ich kann den Fehler bei mir mit Java nachstellen. Mit Win komme ich ohne Problem an die Daten heran (mit Proxy).

Versuche es bitte nochmal. Die Abfrage nach Distanz kommt nachdem sich CW erfolgreich eingeloggt hat. Das Problem ist, dass sich das Statusfenster in den Hintergrund verschiebt. (Muss ich noch korrigieren...) Schau daher bitte in der Taskleiste nach. Da sollte ein zweites CW-Fenster auftauchen.

Ich kann mir im Moment auch nicht vorstellen, warum eine log.txt nicht erstellt wird?!? Das passiert als allererstes... Das wird ja immer komischer...
 

2cachefix

Geomaster
Du hast Post!!

Jetzt hat's geklappt. Keine Ahnung warum eben nicht. Ich habe das mittlerweile so oft wiederholt, dass müsste ich im Schlaf können.
 

Reini

Geocacher
Einen Bug habe ich jetzt gefunden: Bei der Anfrage für die erste Seite werden die Koordinaten als Dezimalzahlen übergeben. Das Vorzeichen wird aber nicht richtig eingefügt. Dass heißt wenn der Zielpunkt westlich von Greenwich liegt, fehlt das Minuszeichen für den Westen. Ditto für Koordinaten südlich des Äquators. Dadurch werden meistens Koordinaten übergeben, an denen keine Caches liegen und wird eine Seite retourniert, die sagt dass 0 Caches gefunden wurden (dass muss auch noch mit einer vernünftigen Fehlermeldung gelöst werden).

Als schnellen Fix habe ich in SpiderGC.java in Zeile 217 diesen Code für die Breite
(origin.getNSLetter().equals("N")?"":"-")
vor der Breitenkoordinate eingefügt, jetzt klappt es. Für die Länge natürlich ähnlich mit getEWLetter.
 

pfeffer

Geowizard
beim download von opencaching gabe es einen Fehler, der Probleme mit Proxies verursacht haben könnte:
Nach einem http-Redirect wurde der Proxy-Eintrag ignoriert. (ist mit SVN > ca. 360) behoben.
Vielleicht gibt es einen ähnlichen Fehler beim Spidern on Geocaching.com?

@Entwicklier: die fetch-Funktion ist eigentlich nicht Opencahcing spezifisch, ich find, die sollte in irgendeine allgemeineere Klasse.

Gruß,
Pfeffer.
 

Kalli

Geowizard
pfeffer schrieb:
@Entwicklier: die fetch-Funktion ist eigentlich nicht Opencahcing spezifisch, ich find, die sollte in irgendeine allgemeineere Klasse.
Da bin ich immer dafür, den gleichen Code nur einmal zu haben. Warum ich ihn damals dupliziert habe, weiß ich nicht mehr genau. Könnte sein, dass ich noch geprüft habe, ob es das Bild schon mal gibt.
 
Oben