Rozwiązywanych obrazków nie można zapisać ani wysłać wyników, gdyż wyskakuje:
java.lang.NullPointerException
albo
java.io.FileNotFoundException: http://www.griddlers.net/solvedTriddler.jsp?puzzid=3054&uid=TheJAG
w zależności od pogody chyba
Na forum triddlersowym jest parę postów o tym problemie w Operze - bez rozwiązania niestety. Podobno pod IE i FF strona chodzi bez zarzutu.
Co robić?
Tu http://my.opera.com/polski/forums/topic.dml?id=160091 już zakładałam wątek. Szyk polecał angielskie forum, ale dalej nie wiem które pomoże ktoś zgłosić?
Bo działa, tyle że o dziwo java pod FF/IE działa wolniej O_o. A na forum Griddlersów/Triddlersów jest informacja, że zamierzają to naprawić w bliżej nieokreślonej przyszłości i sugerują do tego czasu używać wspomnianych wcześniej przeglądarek :/
Ale co mogło się stać w 9, że od jej wprowadzenia nie działa? Bo jak wchodzę tam moją 8.54 która zachowała się jeszcze na dysku to działa - co przed 10 sekundami sprawdziłam.
Ale czemu Opera ma wysyłać Content-Type: application/x-www-form-urlencoded przy zwykłym wejściu na jakiś adres? Tak powinno być dopiero po kliknięciu na jakiś submit.
Originally posted by Zajec:
Ale czemu Opera ma wysyłać Content-Type: application/x-www-form-urlencoded przy zwykłym wejściu na jakiś adres? Tak powinno być dopiero po kliknięciu na jakiś submit.
Ja się nie znam, ale w aplecie klika się na "Save", żeby wysłać wyniki na serwer - Opera nie powinna to traktować jako standardowy (lub niestandardowy ) przycisk "submit"?
Pięknie działa! Dzięki!
Czyli jednak klika się na coś :-) Bo jak wszedłem na adres http://www.griddlers.net/solvedTriddler.jsp?puzzid=3054&uid=TheJAG to już dudaj dostałem jakiś błąd, HTTP Status 500 -
Można kliknąć save. Ale także po zakończeniu 'rysowania' jest automatycznie wysylana informacja o 'sukcesie'.
Originally posted by golew:
Ale co mogło się stać w 9, że od jej wprowadzenia nie działa?
Rozgryzłem to, problem tkwi w wysyłanych nagłówkach przez Operę. Nagłówek z Opery 8.54:
POST /gsolved.jsp HTTP/1.1 User-Agent: Opera/8.54 (Windows ME; U; pl) Host: www.griddlers.net Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1 Accept-Language: pl Accept-Charset: iso-8859-2, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Cookie: JSESSIONID=XXX Cookie2: $Version=1 Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers Content-Length: 1633 Content-Type: application/x-www-form-urlencoded METHOD: POST
Nagłówek z Opery 9.10:
POST /gsolved.jsp HTTP/1.1 METHOD: POST User-Agent: Opera/9.10 (Windows ME; U; pl) Host: griddlers.net Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: pl,en;q=0.9 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Cookie: JSESSIONID=XXX Cookie2: $Version=1 Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers Content-Length: 1631
W nagłówku z Opery 9.10 brak jest linijki: Content-Type: application/x-www-form-urlencoded i przez to łamigłówki nie są zapisywane.
Można go ominąć przy użyciu Proxomitrona.
Jeśli go ktoś nie używa do innych celów, to najlepiej w głównym okienku zostawić tylko zaznaczoną pozycję "Outgoing Header Filters", następnie należy przejść do "Headers", poodznaczać "ptaszki" przy filtrach (jeśli się nie chce ich używać), potem "New" i w opcjach filtru podać:
HTTP Header: Content-Type: Fix Griddlers Save Bug URL Match: griddlers.net Header Value Match: (^?) Replacement Text: application/x-www-form-urlencoded
Potem "OK", zaznaczyć przy filtrze "Content-Type: Fix Griddlers Save Bug" pozycję w kolumnie "Out", następnie "OK" i zapisać (zielona dyskietka w okienku głównym).
Kolejnym krokiem jest włączenie proxy w Operze o adresie 127.0.0.1 i porcie 8080 przy uruchomionym Proxomitronie.
Originally posted by golew:
Szyk polecał angielskie forum, ale dalej nie wiem które
Myślę, że Opera Browser.
Oprócz tego dobrze by było zgłosić buga poprzez https://bugs.opera.com/wizard/ oraz zgłosić rozwiazanie "grilddlersom" - może potrafią wymusić przesłanie tego brakującego nagłówka albo inaczej z poziomu serwera obejść problem?
No nie wiem, mi nadal wyskakuje java.lang.NullPointerException
Coś specjalnego trzeba pozaznaczać przy tym proxy? Możliwe, żeby to firewall coś psuł? Sama już nie wiem, co może być nie tak
Originally posted by milujciesie:
Coś specjalnego trzeba pozaznaczać przy tym proxy?
W Preferencje->Zaawansowane->Sieć->Serwery proxy dla HTTP należy wstawić to, co podałem powyżej i zaznaczyć kwadracik przy HTTP. Szybko włączać i wyłączać proxy można po wciśnięciu F12 (można też sobie wstawić odpowiednie przyciski na pasek narzędzi, które będą to robić).
Aby uniknąć konfigurowania Proxomitrona poniżej wstawiam plik default.cfg z ustawioną poprawką dla griddlers.net, który trzeba przekopiować do katalogu głównego Proxomitrona - po tej operacji wystarczy tylko go włączyć i wyniki powinny już się zapisywać (oczywiście przy odpowiednio ustawionym proxy w Operze ).
default.cfg
Kod filtru dla griddlers.net to:
In = FALSE Out = TRUE Key = "Content-Type: Fix Griddlers Save Bug" URL = "griddlers.net" Match = "(^?)" Replace = "application/x-www-form-urlencoded"
A jednak mam problem z Proxomitronem :/ Nie wiedzieć czemu, ale nie zawsze przechwytuje ruch! Czasami mimo zaznaczonego 'uzywaj proxy' w logach proxomitrona nic nie ma, a strona i tak sie laduje :/
Wygląda, że wszystko było dobrze. Zastosowałam jeszcze powyższe rady i niestety nadal bez skutku - ani zapisywanie, ani wysyłanie wyniku nie działa: java.lang.NullPointerException
Originally posted by milujciesie:
Wygląda, że wszystko było dobrze. Zastosowałam jeszcze powyższe rady i niestety nadal bez skutku - ani zapisywanie, ani wysyłanie wyniku nie działa: java.lang.NullPointerException
A jak w okienku głównym Proxmitrona klikniesz "Log Window", to przy próbie zapisu wyniku pojawia się w tym okienku coś w stylu:
+++GET 1+++ POST /gsolved.jsp HTTP/1.0 METHOD: POST User-Agent: Opera/9.10 (Windows ME; U; pl) Host: griddlers.net Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: pl,en;q=0.9 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Cookie: JSESSIONID=XXX Cookie2: $Version=1 Content-Length: 286 Connection: keep-alive Content-Type: application/x-www-form-urlencoded Posting 286 bytes...
?
Tak, to:
+++GET 87+++ POST /gsolved.jsp HTTP/1.0 METHOD: POST User-Agent: Opera/9.02 (Windows NT 5.1; U; pl) Host: www.triddlers.com Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: pl-PL,pl;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Cookie: JSESSIONID=XXX Cookie2: $Version=1 Content-Length: 333 Connection: keep-alive Posting 333 bytes...
i to:
+++RESP 87+++ HTTP/1.0 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=UTF-8 Date: Tue, 16 Jan 2007 19:08:43 GMT X-Cache: MISS from KDSERV01 Connection: close +++CLOSE 87+++
Originally posted by milujciesie:
Host: www.triddlers.com
No to jasne - wyedytuj filtr i tam, gdzie było:
griddlers.net
wstaw
griddlers.net|triddlers.com
Potwierdź, zapisz.
PS. Serwer proxy powinien być włączony podczas samego wysyłania wyników, w innym czasie może, ale nie musi być włączony.
Yuhuu Zadziałało z
griddlers.net|www.triddlers.com
Dzięki, dzięki
Weekend przed nami, dużo wolnego czasu Jeśli ktoś dał cynk na forum Griddlersów albo angielskie forum Opery niech się zgłosi!
Jeśli takowych nie ma, zrobię to w ciągu najbliższych dwóch dni