我最近遇到了一个有趣的问题。我正在尝试使用集成的 REST API 访问同一时间。为此,我想准备一个 XAgent,为我进行查找和数据连接。
连接到 Sametimeserver 的前两个步骤工作得很好,但最后一步有问题。无论我做什么,我都无法设置 GET 请求的标头。我尝试了其他字段,然后是下面提到的字段,但看起来它没有设置标题。
有人知道为什么在 SSJS 中设置标题不起作用吗?
var url = new java.net.URL("http://oursametimeserver/stwebapi/RTCServlet?"+sid);
conn= url.openConnection();
conn.setRequestProperty("Rtc4web-Nonce",pid);
conn.setRequestMethod("GET");
writer.write(@Implode(conn.getHeaderFields()));
请看结果:
{null=[HTTP/1.1 400 Bad Request], Cache-Control=[no-cache="set-cookie, set-cookie2"], Expires=[Thu, 01 Dec 1994 16:00:00 GMT], X- Powered-By=[Servlet/3.0],Content-Length=[170],Content-Language=[en-US],Content-Type=[application/json],Connection=[Close],Date=[Mon, 09 2015 年 3 月 19:18:54 GMT],Set-Cookie=[JSESSIONID=0000zwXn8VhNWlZ78jN4yfMJQrU:-1; 路径=/; HttpOnly]}
请忽略错误 400。其余 api 将返回它,因为我没有在标题中提交 RTC4WEB-NONCE 字段。当我在 chrome 中使用 POSTMAN 时,我得到了相同的结果。有了这个值,一切都很好。