• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как За-post-ить Файл На Веб-сервер?

  • Автор темы Ruslan280
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Ruslan280

подскажите как отправить файл и несколько параметров методом POST на сторонний веб-сервер.
пробовал - не получилось.

файл бинарный.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
а неполучилось-то что?
где логи от jvm?
 
R

Ruslan280

нашел проще решение - с использованием apachehttpclient
скачал-распаковал-скопировал jar-ы в "C:\Program Files (x86)\IBM\Lotus\Notes\jvm\lib\ext"

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">рабочий агент для клиента: отправляет POSTом бинарный файл и параметр на php-страницу веб-сервера и выводит ответ в консоль</div></div><div class="sp-body"><div class="sp-content">
Код:
import lotus.domino.AgentBase;
import lotus.domino.AgentContext;
import lotus.domino.Session;

import java.io.File;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;;


public class JavaAgent extends AgentBase {

public void NotesMain() {

try {


CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpPost httppost = new HttpPost("http://xxxxxx.zz.mu/test.php");

FileBody bin = new FileBody(new File("c:/test.jpg"));
StringBody comment = new StringBody("A binary file of some kind", ContentType.TEXT_PLAIN);

HttpEntity reqEntity = MultipartEntityBuilder.create()
.addPart("bin", bin)
.addPart("comment", comment)
.build();


httppost.setEntity(reqEntity);

System.out.println("executing request " + httppost.getRequestLine());
CloseableHttpResponse response = httpclient.execute(httppost);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
System.out.println("Response content length: " + resEntity.getContentLength());
System.out.println(EntityUtils.toString(resEntity));
}
EntityUtils.consume(resEntity);
} finally {
response.close();
}
} finally {
httpclient.close();
}

} catch (Exception e) {
e.printStackTrace();
} finally {

}
}
}


остался вопрос - куда копировать jar-ы на сервере - тоже в Lib\ext? . или можно-ли прикрепить их прямо к агенту как-то?
(да- скопировал jar-ы тудаже на сервере-перезагрузил-пошло.)

еще про кириллицу utf-8 - получилось так- StringBody sdocname = new StringBody(docname, ContentType.TEXT_PLAIN.withCharset(Charset.forName("UTF-8")));
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
остался вопрос - куда копировать jar-ы на сервере - тоже в Lib\ext? . или можно-ли прикрепить их прямо к агенту как-то?
с апачевской либой (и сопутствующими) не получится "прикрепить"
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!