HTTP curl in Android, wie übersetzen?

Achso, zum Server selbst habe ich leider keinen Zugang.
Wieso weichen die Header voneinander ab?
im CURL habe ich doch zB: "Authorization: Bearer MYBEARER" und in Android:
httpcon.setRequestProperty("Authorization", "Bearer MYBEARER");
oder muesste das:
httpcon.setRequestProperty("Authorization: ", "Bearer MYBEARER"); sein?

Ich habe leider keine Ahnung davon.
 
Bearer mybearer != Bearer $ mysecret(das du btw aus deinem post rausmachen solltest :D)
Um request ist mal "metadata" drinne und mal nicht.

Danach habe ich die Lust verloren, weitere Unterschiede zu suchen.

Wenn du vom Server kein Feedback bekommst, hast du natürlich Pech und muss dort lieb den Admin fragen.
 
Zuletzt bearbeitet:
Achso, klar der bearer ist überall gleich, nur hab ich den ersetzt bzw verändert ;) ansonsten ist aber alles gleich oder? Metadata sind laut Dokumentation nicht notwendig und habe ich im curl auch ohne probiert ;)
 
Ich habe es mal noch mit anderen Sachen versucht:
-addRequestProperty anstatt setRequestProperty
-ohne outpuStreamWriter
-anstatt outputstreamwriter den unteren Code... Hilft alles nichts, ich bekomme immer den 400er authentifikationsfehler - wodran könnte das denn sonst noch liegen?
Vielleicht das Wort BEARER weg oder sowas?

Vielen Dank..

edit: Kann es sein dass ich eine JSON-Object erstellen muss, damit das funktioniert?
Code:
try {
            HttpURLConnection httpcon = (HttpURLConnection) ((new URL("https://api.wit.ai/entities/auskunftVar?v=20141022").openConnection()));
            httpcon.setDoOutput(true);
            httpcon.setRequestMethod("PUT");

            httpcon.setRequestProperty("Authorization", "Bearer MYBEARER");
            httpcon.addRequestProperty("Content-Type", "application/json");
            httpcon.connect();
            final String toWriteOut = "{\"doc\":\"Diese Veranstaltungen werden erkannt\"," +
                    "\"values\":[{\"value\":\""+value+"\"," +
                    "\"expressions\":[\""+value+"\"]," +
                    "}]}";
//            final OutputStreamWriter osw = new OutputStreamWriter(httpcon.getOutputStream());
//            osw.write(toWriteOut);
//            osw.flush();
//            osw.close();


 //           httpcon.disconnect();

            OutputStream output = null;
            try {
                output = httpcon.getOutputStream();
                output.write(toWriteOut.getBytes());
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (output != null)
                    try {
                        output.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
            }
            httpcon.getResponseMessage();

            System.err.println(httpcon.getResponseCode());
                       httpcon.disconnect();


        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("url post failed");
        }

        return null;

    }
 
Zuletzt bearbeitet:
Ich habe den Fehler gefunden, das Format von toWriteOut war falsch, es war ein Komma zu viel... Vielen Dank für die Hilfe
 
Hat das nen Grund warum du dir die Welt so kompliziert machst und nicht einfach nen JsonObject benutzt?

lg. Dagobert
 
Was meinst du damit? könntest du mir ein Beispiel geben wie das geht?
 

Ähnliche Themen

OnkelLon
Antworten
13
Aufrufe
1.986
OnkelLon
OnkelLon
D
Antworten
23
Aufrufe
2.555
Data2006
D
S
Antworten
7
Aufrufe
1.163
swa00
swa00
Zurück
Oben Unten