错误状态代码407不在Chrome中显示

问题描述 投票:1回答:2

我正在尝试在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但是对于所有其他错误代码,我可以正确获取消息。

java servlets error-handling
2个回答
0
投票

您不应该使用SC_PROXY_AUTHENTICATION_REQUIRED,因为您的servlet不充当代理(我想)。许多HTTP响应代码是低级的,不应由应用程序返回。


0
投票

我知道这确实很老,但是我偶然发现了这个问题,并且调查了同样的问题,并认为我应该回答。 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,
© www.soinside.com 2019 - 2024. All rights reserved.