Url nach Webseiten-Login auslesen & Daten an Webseite senden

torresbig

Mitglied
Hallo,

(VORAB: Titel stimmt leider nicht mehr. es geht nur um das Senden der Daten)

ich hatte schonmal ein Thema zu dem selben Projekt geöffnet, bei dem Ihr mir super geholfen habt. Soweit funktioniert auch alles, aber nun möchte ich gerne weitere Funktionen einbauen
Hier der vorherige Post von mir: Website login Problem - Jsoup, wie bisher, klappt nicht!

Ich nutze immer noch Jsoup. Leider kann ich htmlUnit oder selenium in meinem Projekt nicht nutzen. Glaube das hängt mit der Java-Version zusammen die ich nutzt (nutze nicht Java 8 sondern 15). Wenn ich auf jdk 8 umstelle, geht garnix mehr. Bin auch leider kein gelernter Programmierer.

Problem:
ich würde gerne daten an den Server senden. in dem Fall sind es Transferangebote.
Hier ein paar Infos:
nach dem bestätigen des Angebots wird diese Seite aufgerufen
1663692331388.png 1663692365965.png

wenn ich dies jetzt folgendermaßen nachbauen möchte, bekomme ich zwar vom Server ein OK, aber der Transfer wird nicht ausgeführt.
Hab es auch in unterschiedlichsten Varianten mit Postman versucht, aber ich bekomme immer noch eine leere antwort.
Hier die Antwort aus Postman:

{
"status": "OK",
"response": [],
"opponentIds": ""
}

Hier ist der response und die opponentIds leer.

sollte aber natrülich so aussehen:
1663692600837.png


hier mal der Code, den ich nutze, um das Angebot abzusenden. Wird vermutlich ein ganz kleiner Fehler sein, aber ich verzweifle.
ich denke als Key ist "offers" schon korrekt, da nur dann die 200 Status OK kommt. es wird an dem Value-Teil liegen.
Java:
try {
             
                Response response2 = Jsoup.connect("https://www.comunio.de/api/communities/xxxx/users/xxxx/offers").header("Accept", "application/json, text/plain, */*")
                        .method(Connection.Method.POST)
                        .header("Authorization", "Bearer " + token)
                        .data("offers", "{\"price\":2,\"type\":\"NEW\",\"tradableid\":31957}")
                        .ignoreContentType(true)
                        //.requestBody(request)
                        .execute();
                String jsonText = response2.body();
                result = false;

            } catch (IOException e) {
                e.getStackTrace();
            }

Falls jemand ein Tipp hat, gerne her. 🙂
 
Zuletzt bearbeitet:
Ich vermute mal, dass einer der Cookies wichtig ist, vermutlich die beiden Token Cookies (accessToken/refreshToken). Evtl. auch eins mit den nicht sprechenden Namen
 
Ich vermute mal, dass einer der Cookies wichtig ist, vermutlich die beiden Token Cookies (accessToken/refreshToken). Evtl. auch eins mit den nicht sprechenden Namen
also ich kann sonst alles auf der Seite abfragen. Das ist nicht das problem. Nur das Senden von Daten macht Probleme.
Den SessionToken frage ich vorher hab und der wird hier
Java:
.header("Authorization", "Bearer " + token)
übergeben.
 
Ah, deine gesenden Daten sind Grütze.

Du darfst keine form-data senden, sondern raw Data mit dem kompletten Json.
Das hat ich mir gedacht, dass die Müll sind.
Wenn ich als key nicht den string offers sende kommt die Meldung 400 zurück.
Und als value hab ich schon die json.toString() mitgesendet.

Kannst du ggf etwas genauer oder sogar den Code schicken?
 

Zurück
Oben