3
3c5x9
Neues Mitglied
- 0
Hi zusammen,
Ich hab da mal ein Problem, über das evtl. schon jemand gestolpert ist.
Ich habe einen Webserver, der etwas pingelig ist bei der Auswertung der HTTP-Header. Am folgenden Beispiel gut zu sehen:
Er akzeptiert das Authorization-Field nur wenn er wirklich "Authorization" geschickt wird. Bei "authorization" erkennt er es nicht.
Nu hab ich in Android (SDK 1.6) in meiner anwendung folgenden Code um diese Authorization zu senden, plus noch 2 Felder die das Problem zusätzlich verdeutlichen:
Ich habe, nachdem ich ständig nur "HTTP/1.1 401 Unauthorized" von Server zurück bekommen habe, die Anfragen über einen Proxy umgeleitet. Und da kann man dann sehen, das alles was ich an zusätzlichen Headern schicke, in Kleinschreibung gesendet wird:
Wenn ich den User-Agent in meinem Code weg lasse und nicht überschreibe, wird er korrekt als "User-Agent: Java0" gesendet. Auch "if-modified-since" müsste als "If-Modified-Since" gesendet werden.
Hab das nun im Emulator und auf dem G1 getestet, beide Male das gleiche Verhalten.
Hat da jemand eine Idee zu, wie man dieses "".toLowerCase() abschalten kann?
Gruß
3zeh
Ich hab da mal ein Problem, über das evtl. schon jemand gestolpert ist.
Ich habe einen Webserver, der etwas pingelig ist bei der Auswertung der HTTP-Header. Am folgenden Beispiel gut zu sehen:
Code:
root@rechner:/# wget "http://remotehost.de" --header 'Authorization: Basic cm9vdDpyaWWW'
Connecting to http://remotehost.de[83.135.88.1]:8010
currentservicedata 100% |**********************************************************************************************************************************************************| 836 00:00 ETA | 0 --:-- ETA
root@rechner:/# wget "http://http://remotehost.de" --header 'authorization: Basic cm9vdDpyaWWW'
Connecting to http://remotehost.de[83.135.88.1]:8010
wget: server returned error 401: HTTP/1.1 401 Unauthorized
Nu hab ich in Android (SDK 1.6) in meiner anwendung folgenden Code um diese Authorization zu senden, plus noch 2 Felder die das Problem zusätzlich verdeutlichen:
Code:
URL url = new URL("http://someadress");
HttpURLConnection http = (HttpURLConnection) url.openConnection();
String encoding = Base64Converter.encode((_profile.getUsername() + ":" + _profile.getPassword()).getBytes());
http.setRequestProperty("User-Agent", "Enigmanoid");
http.setIfModifiedSince(123456789);
http.setRequestProperty("Authorization", "Basic " + encoding);
http.getInputStream();
Code:
user-agent: Enigmanoid
if-modified-since: Fri, 02 Jan 1970 10:17:36 GMT
authorization: Basic cm9vdDpyaWWW
Connection: keep-alive
Hab das nun im Emulator und auf dem G1 getestet, beide Male das gleiche Verhalten.
Hat da jemand eine Idee zu, wie man dieses "".toLowerCase() abschalten kann?
Gruß
3zeh
Zuletzt bearbeitet: