Пытаюсь загрузить на сервер сайта картинку. в Mozille через инструмент Network посмотрел какие заголовки уходят на сервер вместе с файлом и попытался их имитировать.
public void uploadImageToServer() throws Exception {
File file=new File("/tmp/toon.jpg");
if (file.exists()){
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
ContentType fileContentType = ContentType.create("image/jpeg");
String fileName = file.getName();
builder.addBinaryBody("client_files", file, fileContentType, fileName);
HttpEntity entity = builder.build();
HttpPost request = new HttpPost("https://newsprice.info/wp-admin/admin-ajax.php");
request.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
request.setHeader("Accept-Language", "en-US,en;q=0.5");
request.setHeader("Connection", "keep-alive");
request.setHeader("Content-Type", "multipart/form-data; boundary=---------------------------82762255611166");
request.setHeader("Cookie", "wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_5...wiZW1haWwiOiJncmVna3VrdWtldkB5YW5kZXgucnUifQ%3D%3D");
request.setHeader("DNT", "1");
request.setHeader("Host", "newsprice.info");
request.setHeader("Referer", "https://newsprice.info/account/?user=361&tab=postform");
request.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0");
request.setHeader("X-Requested-With", "XMLHttpRequest");
request.setEntity(entity);
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse closeableHttpResponse= client.execute(request);
int i= closeableHttpResponse.getStatusLine().getStatusCode();
}
}
Но вместо 200 ответа я получаю 400 (badrequest).
Вот как выглядят заголовки и параметры в Mozille
Уберите
request.setHeader("Content-Type", "multipart/form-data; boundary=---------------------------82762255611166");
, и вообще все setHeader'ы
Если убрать header'ы то также остается 400 bad request. Мне кажется дело в том, как формируется entity в строке
request.setEntity(entity);
Пробовал так: всё равно 400...
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://newsprice.info/wp-admin/admin-ajax.php");
File file = new File("/tmp/toon.jpg");
MultipartEntityBuilder multipartEntityBuilder=MultipartEntityBuilder.create();
multipartEntityBuilder.setCharset(Charset.forName("UTF-8"));
HttpEntity httpEntity = multipartEntityBuilder
.addBinaryBody("file", file, ContentType.create("image/jpeg"), file.getName())
.build();
String contentType=httpEntity.getContentType().getValue();
httppost.setHeader("Host", "newsprice.info");
httppost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0");
httppost.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
httppost.setHeader("Accept-Language", "en-US,en;q=0.5");
httppost.setHeader("Accept-Encoding", "gzip, deflate, br");
httppost.setHeader("Referer", "https://newsprice.info/account/?user=361&tab=postform");
httppost.setHeader("X-Requested-With", "XMLHttpRequest");
httppost.setHeader("Content-Type", contentType);
httppost.setHeader("DNT", "1");
httppost.setHeader("Connection", "keep-alive");
httppost.setHeader("Pragma", "no-cache");
httppost.setHeader("Cache-Control", "no-cache");
httppost.setEntity(httpEntity);
System.out.println("executing request " + httppost.getRequestLine());
int o= httpclient.execute(httppost).getStatusLine().getStatusCode();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пишу программу в которой вызывается 2й фрейм в котором происходит выбор папкиПри нажатии кнопки закрывается фрейм и путь передается в 1й фрейм...
Есть ли библиотека Java, в которой была бы функция сжатия JPG изображения до определённого (в параметрах) размера в байтах?
Пожалуйста, помогите составить регулярное выражение, которое будет матчить такой текст: