Сервлет getParts пустой от прокси php, а не непосредственно от myform

Как я сказал в https://stackoverflow.com/q/35060446/487313 Я работаю над PHP-прокси. На самом деле у меня есть сервлет с аннотацией:

@MultipartConfig
public class MyServlet extends HttpServlet {

Далее в doPost у меня есть:

  Collection<Part> lesParts = request.getParts();

И как ни странно, я всегда получаю пустую коллекцию при прохождении через мой прокси-сервер и правильную вещь при переходе прямо из моей формы
То есть:
<form name="mon-formulaire1" id="proxyform" action="newPrxi.php?proxy_url=http://localhost:8888/testServlet/myservlet.html" method="post" enctype="multipart/form-data" > не работает
а также
<form name="mon-formulaire1" id="proxyform" action="http://localhost:8888/testServlet/myservlet.html" method="post" enctype="multipart/form-data" > в порядке
На самом деле я работаю на своем локальном хосте с php на Vstudio (порт 30645) и сервлетом на Tomcat 7 под Eclipse (порт 8888).
я использовал request.getInputStream(); и перебирая заголовки с Enumeration headerNames = request.getHeaderNames(); И я не вижу никакой разницы между случаем, который в порядке (прямо из формы) и тем, который является нг (через прокси). Весь этот код обычно комментируется, чтобы избежать чтения пустого запроса после чтения потока ….
Моя форма содержит два элемента ввода текста и два элемента ввода файла, она ничего не меняет, когда я загружаю файл или нет (файл хорошо сохраняется, когда список деталей не пуст).
Мои заголовки следующие:

Key: content-type, Value: multipart/form-data; boundary=----WebKitFormBoundaryHEJ3XuT0gdC8RG4X
Key: connection, Value: keep-alive
Key: accept-language, Value: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Key: host, Value: localhost:8888
Key: accept, Value: text/plain, */*; q=0.01
Key: content-length, Value: 105639
Key: origin, Value: http://localhost:30645
Key: user-agent, Value: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36
Key: accept-encoding, Value: gzip, deflate
Key: referer, Value: http://localhost:30645/index.html?XDEBUG_SESSION_START=76F0F204

Любая помощь будет более чем приветствоваться …. 🙂

0

Решение

Если сервлет не может вернуть части многокомпонентного запроса при работе за прокси-сервером, наиболее вероятное объяснение состоит в том, что прокси-сервер добавил или удалил материал, который делает запрос некорректным или не разбираемым.

Как обнаружено в комментариях к разговору, это действительно было так.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]