JavaRush /Java-Blog /Random-DE /JSOUP + mehrteilige/Formulardaten-Antwort
wildsinner
Level 41
Самара

JSOUP + mehrteilige/Formulardaten-Antwort

Veröffentlicht in der Gruppe Random-DE
Guten Tag, im Allgemeinen müssen Sie Daten in Form einer Antwort im Format multipart/form-data an die Site senden. Es ist nicht schwer, eine von einem Browser generierte Anfrage abzufangen, aber es ist schwierig, dieselbe Anfrage mit JSOUP auszuführen. Als Beispiel können Sie das einfachste Formular verwenden, das die gewünschte Anfrage generiert.
Anforderungsheader Vorläufige Header werden angezeigt. Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Content-Type:multipart/form-data; border=----WebKitFormBoundaryjtkXVNw9YVG1H2P9 Origin:null Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/47.0.2526.106 Safari/537.36 X - DevTools-Emulate-Network-Conditions-Client-Id:8DCCE949-56FA-4AB0-81B7-DA2BC7960E5C ->Request Payload ------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name="text" Textstandard ------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name="file1"; filename="" Content-Type: application/octet-stream ------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name="file2"; filename="" Content-Type: application/octet-stream ------WebKitFormBoundaryjtkXVNw9YVG1H2P9-- Ich habe auf verschiedene Weise versucht, eine ähnliche Anfrage mit verschiedenen Optionen zu generieren, und mich für diese entschieden, aber bisher „Tanzen mit Tamburinen“ bringt keine Ergebnisse. Vielleicht hat jemand Erfahrung in dieser Angelegenheit. Wenn es Ihnen nichts ausmacht, weisen Sie mich bitte auf den richtigen Weg. Es ist auch möglich, dass es eine Möglichkeit gibt, eine von JSOUP generierte Anfrage abzufangen, was uns im Prinzip auch ein Weiterkommen ermöglichen würde. Danke Map responseMap= new HashMap (); String key1 = "------WebKitFormBoundary9A3GpeDAwfa0TBDK\r\n" + "Content-Disposition: form-data; name=\"text\"\r\n\r\n"; String value1 = "text default"; headersMap.put(key1, value1); String key2 = "\r\n------WebKitFormBoundary9A3GpeDAwfa0TBDK\r\n" + "Content-Disposition: form-data; name=\"doc_sma_ref_file\"; filename=\"\"" + "\r\nContent-Type: application/octet-stream\r\n\r\n"; String value2 = ""; headersMap.put(key2, value2); String key3 = "\r\n------WebKitFormBoundary9A3GpeDAwfa0TBDK\r\n" + "Content-Disposition: form-data; name=\"doc_val_ref_file\"; filename=\"\"" + "\r\nContent-Type: application/octet-stream\r\n\r\n"; String value3 = ""; headersMap.put(key3, value3); String key4 = "\r\n------WebKitFormBoundary9A3GpeDAwfa0TBDK--"; String value4 = ""; headersMap.put(key4, value4); Connection.Response resBGT = Jsoup.connect(URL) .header("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundary9A3GpeDAwfa0TBDK") .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36") .followRedirects(true) .data(responseMap) .cookies(cookies) .ignoreHttpErrors(true) .timeout(15000) .method(Connection.Method.POST) .execute();
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION