Верблюжий причал http редирект - PullRequest
0 голосов
/ 13 декабря 2018

Я использую Караф с верблюдом (последняя версия для каждого)

Я пытаюсь выставить сервлет и перенаправить на www.google.fr следующим образом

    RouteDefinition routeDefinition2 = from("servlet:google?matchOnUriPrefix=true").id("reverseProxyRoute");
        routeDefinition2
        .to("http://www.google.fr?bridgeEndpoint=true&traceEnabled=true&throwExceptionOnFailure=false&proxyHost=localhost&proxyPort=3128")

Маршрут правильно выставлени я могу связаться с сервлетом, но когда я делаю:

http://localhost:8181/camel-example-servlet-rest-blueprint/rest/google

страница Google показывается, но когда я запускаю поиск, мой URL становится:

http://localhost:8181/search?safe=active&ei=lSYSXMLkIsa1kwWgsIKABg&q=camel+http

, поэтому я получил 404 не найден.

если я переписываю вручную URL-адрес, чтобы иметь:

http://localhost:8181/camel-example-servlet-rest-blueprint/rest/google/search?safe=active&ei=cCYSXKDKMNG5kwWT77bYDQ&q=camel+http

, он работает

мой вопрос, как я могу указать свой маршрут, чтобы не удалять

camel-example-servlet-rest-blueprint/rest/google/

спасибо большое!

1 Ответ

0 голосов
/ 13 декабря 2018

Удаление части URL является поведением страницы Google .

HTML-код поисковой формы:

<form ... action="/search" ...

Поэтому, если вы отправите форму, ваш браузер будет отправлен на /search, и вы получите ответ с этого URL.

Чтобы сделать то, что вы хотите, вы должны предложить пользователям свою страницу поиска.Эта страница поиска будет отправлять условия поиска в ваше приложение, вам придется выполнить поиск в Google и вернуть результаты обратно пользователю (на вашей странице результатов).

...