我正在尝试在Java中将错误抛出servlet程序。我在Chrome浏览器中遇到了所有其他错误,但error 407(SC_PROXY_AUTHENTICATION_REQUIRED)
我的servlet程序很简单,它只会抛出
res.sendError(HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED, "important_parameter needed");
我得到This webpage is not available
但是对于所有其他错误代码,我可以正确获取消息。
您不应该使用SC_PROXY_AUTHENTICATION_REQUIRED
,因为您的servlet不充当代理(我想)。许多HTTP响应代码是低级的,不应由应用程序返回。
我知道这确实很老,但是我偶然发现了这个问题,并且调查了同样的问题,并认为我应该回答。 Chrome无法正确处理http状态407。
我创建了一个Spring MVC rest端点:
@GetMapping("/proxyAuthRequired")
public ResponseEntity get407() {
System.out.println("hit!");
return new ResponseEntity(HttpStatus.PROXY_AUTHENTICATION_REQUIRED);
}
然后,我在Chrome浏览器中将其称为“网络”标签,它应该在显示http状态的位置显示“(失败)”。我捕获了流量的.har文件,该文件通常显示http状态,而是显示0:
"response": {
"status": 0,