Как мое редактирование к ответ iamiddy был отклонен, я хочу также предоставить полное решение для Начальной загрузки Spring 2 + как отдельный ответ.
Эти WebMvcConfigurerAdapter
удерживается от использования с Spring5 / Java8 и может быть заменен непосредственно с Интерфейсом WebMvcConfigurer
окончание с:
@SpringBootApplication
public class Application extends WebMvcConfigurer {
public static void main(String[] args) throws Exception {
System.setProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true");
SpringApplication.run(Application.class, args);
}
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
UrlPathHelper urlPathHelper = new UrlPathHelper();
urlPathHelper.setUrlDecode(false);
configurer.setUrlPathHelper(urlPathHelper);
}
}
Плюс Вы также должен настроить Spring (Strict)HttpFirewall
, чтобы избежать, чтобы блокирование закодированных наклонных черт с Начальной загрузкой Spring сообщения об ошибке The request was rejected because the URL contained a potentially malicious String "%2F"
@Bean
public HttpFirewall allowUrlEncodedSlashHttpFirewall() {
StrictHttpFirewall firewall = new StrictHttpFirewall();
firewall.setAllowUrlEncodedSlash(true);
return firewall;
}
использовало вышеупомянутое HttpFirewall
Боб, когда доступный - иначе могло бы быть необходимо настроить WebSecurity
, как упомянуто здесь :
Обычно это происходит, если вы сделали несколько запросов к одному и тому же хосту и не удалили WebResponse
.
Настройки управления подключением по умолчанию разрешают только 2 ( или, может быть, 4, я не могу вспомнить) одновременно открывать подключения к одному и тому же хосту. Если вам действительно нужно это изменить, используйте элемент
app.config - но обычно вы справитесь, просто избавившись от WebResponse
:
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
using (WebResponse myWebResponse = myWebRequest.GetResponse())
{
//more code here