JavaRush /Java Blog /Random-TL /JSOUP + multipart/form-data na tugon
wildsinner
Antas
Самара

JSOUP + multipart/form-data na tugon

Nai-publish sa grupo
Magandang hapon, Sa pangkalahatan, kailangan mong magpadala ng data sa site sa anyo ng isang tugon sa form na multipart/form-data. Hindi mahirap i-intercept ang isang request na nabuo ng isang browser, ngunit mahirap i-execute ang parehong gamit gamit ang JSOUP. Bilang halimbawa, maaari mong gawin ang pinakasimpleng anyo na bubuo ng nais na kahilingan.
Mga Header ng Kahilingan Ang mga pansamantalang header ay ipinapakita Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryjtkXVNw9YVG1H2P9 Pinagmulan:null Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, tulad ng 537.36) Chrome. 6 X - DevTools-Emulate-Network-Conditions-Client-Id:8DCCE949-56FA-4AB0-81B7-DA2BC7960E5C ->Humiling ng Payload ------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name="text" text default ------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-- Sinubukan ko sa iba't ibang paraan upang makabuo ng katulad na kahilingan na may iba't ibang mga opsyon, at nakipag-ayos sa isang ito, ngunit sa ngayon ay "pagsasayaw gamit ang mga tamburin" hindi gumagawa ng mga resulta. Marahil ay may karanasan sa bagay na ito. Kung hindi mo tututol, mangyaring idirekta ako sa tamang landas. Posible rin na mayroong isang paraan upang ma-intercept ang isang kahilingang nabuo ng JSOUP, na sa prinsipyo ay magbibigay-daan din sa amin na sumulong. Salamat 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();
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION