访问WebSocket握手拒绝标头

时间:2015-12-12 20:42:56

标签: angularjs node.js websocket

我正在使用angular-websocketsnode websockets,尽管这不应该产生太多差异。节点实现发送带有握手请求拒绝的X-WebSocket-Reject-Reason报头(例如“无效的用户名”)。

如何通过websockets API或其他方式访问此标头?我没有充分探讨过这个问题,但$httpProvider似乎无法拦截请求。

onErroronClose等回调也无济于事。

1 个答案:

答案 0 :(得分:1)

您不能,因为浏览器的websocket API规范禁止它 见这里:http://www.w3.org/TR/websockets/#feedback-from-the-protocol

  

用户代理不得以允许脚本区分以下情况的方式向脚本传达任何失败信息:
  

  • ...

  •   
  • 未完成打开握手的服务器(例如,因为它不是WebSocket服务器)。
  • 这意味着由于安全问题,浏览器不允许将websocket握手HTTP响应标头传递给javascript。