Клиент Apache Http – прекратите удалять двойные косые черты из URL-адресаJAVA

Программисты JAVA общаются здесь
Anonymous
Клиент Apache Http – прекратите удалять двойные косые черты из URL-адреса

Сообщение Anonymous »

Я использую клиент HTTP-компонентов Apache версии 4.5.7 для запроса URL-адреса, содержащего двойную косую черту. Когда я смотрю на журнал проводов, я вижу, что двойная косая черта была «исправлена» так, что она была только одной. К сожалению, для меня это нежелательное поведение, поскольку оно приведет к сбою запроса.

Справочная информация: я запрашиваю изображения с измененным размером у Thumbor (сервера изменения размера изображений). URL-адрес Thumbor в основном будет выглядеть следующим образом:

этот URL-адрес заставит Thumbor загрузить http://host.com/image.jpg и изменить его размер, чтобы он вписывался в 200x200 пикселей. .

Код выглядит следующим образом:

Код: Выделить всё

HttpGet httpUriRequest = new HttpGet("http://thumbors-server/usafe/200x200/http://host.com/image.jpg");
CLIENT.execute(httpUriRequest, responseHandler);
Что httpclient отправляет на сервер. однако это:

Код: Выделить всё

DEBUG o.a.h.headers     http-outgoing-1 >> GET /unsafe/300x300/http:/host.com/image1.jpg HTTP/1.1
DEBUG o.a.h.headers     http-outgoing-1 >> Host: localhost:4002
DEBUG o.a.h.headers     http-outgoing-1 >> Connection: Keep-Alive
DEBUG o.a.h.headers     http-outgoing-1 >> User-Agent: Apache-HttpClient/4.5.7 (Java/11.0.1)
DEBUG o.a.h.headers     http-outgoing-1 >> Accept-Encoding: gzip,deflate
обратите внимание, что http://host.com был заменен на http:/host.com (обратите внимание на пропущенную секунду /). Это приведет к сбою запроса.

Как я могу помешать http-клиенту «исправить» URL-адрес, который я ему передаю?

Подробнее здесь: https://stackoverflow.com/questions/545 ... s-from-url

Вернуться в «JAVA»