powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как послать request as-is но на другой урл и получить ответ
16 сообщений из 16, страница 1 из 1
Как послать request as-is но на другой урл и получить ответ
    #39711789
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть HtppServletRequest HtppServletResponse.

Мне на java надо его отослать на другой УРЛ. При этом всё у этого запроса должно остаться точно таким же. Тело, хидеры, реквест параметры.

Запросы приходят абсолютно разные. Могут бинарники и json.


Как это сделать максимально простым способом?
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39711810
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner

Как это сделать максимально простым способом?

Установить прокси?
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39711848
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл никquestioner
Как это сделать максимально простым способом?

Установить прокси?

Какую например?
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39711870
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл ник,

Или имеется ввиду, что что-то своё написать надо?
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39711966
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл ник,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
LoadBalancingProxyClient loadBalancer = new LoadBalancingProxyClient()
        .addHost(new URI("http://localhost:8080"))
        .addHost(new URI("http://localhost:7777"))
        .setConnectionsPerThread(20);

Undertow reverseProxy = Undertow.builder()
        .addHttpListener(8081, "localhost")
        .setIoThreads(1)
        .setHandler(ProxyHandler.builder().setProxyClient(loadBalancer).setMaxRequestTime(30000).build())
        .build();
reverseProxy.start();



Такая херня близка к тому, что мне надо, только она не умеет по контенту запроса выбирать хост.

io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector выглядит вот так:

Код: java
1.
2.
3.
4.
public interface HostSelector {

        int selectHost(Host[] availableHosts);
    }




Что мне не подходит
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712112
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
Ответ получить где?
Может тебе редирект нужен?
))
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712276
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questioner,
Ответ получить где?
Может тебе редирект нужен?
))

Есть несколько серверов, которые шлют запросы(разных типов) на прокси сервер. прокси сервер должен в зависимости от body(да, мне тоже кажется, что это какая-то херня) выбирать нужного получателя для запроса. перенаправлять этот запрос на нужный сервер, получаеть от него ответ и возвращать это ответ изначальному серверу.

В общем мне нужен reverse proxy или forward proxy. Но получатель должен быть выбран по контенту body
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712408
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
Да. Что типа балансировщика который направляет запрос любому и они все равны меж собой. А тут условия в самом запросе?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
GET /hello.htm HTTP/1.1

User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

Host: www.example.com

Accept-Language: ru-ru

Accept-Encoding: gzip, deflate

Connection: Keep-Alive
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Где условия в GET запросе выше?
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712428
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questioner,

Где условия в GET запросе выше?

Там условие такое, что если смогли найти в теле нечто, то надо направить на сервер1. Во всех остальных случаях перенаправляем на сервер2. То есть если тела нет(кстати в GET оно может быть), то направляем на сервер2
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712638
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
Ну дак дай пример запроса get для сервера2. Что ты тянешь раз топик создал?
Get не передает параметры на сервер. Или в заголовке?
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712727
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questioner,
Ну дак дай пример запроса get для сервера2. Что ты тянешь раз топик создал?
Get не передает параметры на сервер. Или в заголовке?

Примеров нет. Такие дела. Надо написать так, чтобы работало для любых запросов
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712836
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerПримеров нет.ты не понял.
Пример запроса должен тут привести ты как ТС.
А потом уже завести топик и ломать мозги вопросом редиректа.
Удачи, ленивый.
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712848
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questionerПримеров нет.ты не понял.
Пример запроса должен тут привести ты как ТС.
А потом уже завести топик и ломать мозги вопросом редиректа.
Удачи, ленивый.

Ещё раз повторю - запросов нет.

А зачем вам запрос нужен то?

Если тело есть - ищем в нём. Если тела нет - не ищем и шлём на сервер 2 сразу. У Get в принципе тело может быть.
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712855
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerУ Get в принципе тело может быть.ты не всю правду сказал.
Вот на это гугл даст ошибку
Код: java
1.
2.
3.
4.
$ netcat www.google.com 80
GET / HTTP/1.1
Host: www.google.com
Content-length: 6

1234
Но конечно, ты можешь сказать что у нас свой собственный внутренний api.
Да.
Удачи!
...
Рейтинг: 0 / 0
Как послать request as-is но на другой урл и получить ответ
    #39712908
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questionerУ Get в принципе тело может быть.ты не всю правду сказал.
Вот на это гугл даст ошибку
Код: java
1.
2.
3.
4.
$ netcat www.google.com 80
GET / HTTP/1.1
Host: www.google.com
Content-length: 6

1234
Но конечно, ты можешь сказать что у нас свой собственный внутренний api.
Да.
Удачи!

Если сервер выдаст ошибку это не дело прокси. Это дело отправителя. Прокси просто передаёт
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как послать request as-is но на другой урл и получить ответ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]