我正在使用Angular的HttpClient和HttpHeader向特定网页游戏的api发出请求。 api执行原始检查以及其他一些基于标头的检查。当尝试设置Host,Referer,Accept-Encoding,User-Agent,Origin和Connection头时,Angular拒绝消息“拒绝设置不安全的头'。'”有什么方法可以禁用安全头检查,类似于AJAX中的方法?
以下是在ajax中禁用安全标头检查的示例:
$.ajax({
type: type,
url: url,
headers: headers,
data: data,
beforeSend: function(xmlHttpRequest) {
// Requires node-XMLHttpRequest version 1.5.1 or later to set some headers in Node.js
if(xmlHttpRequest.setDisableHeaderCheck)
xmlHttpRequest.setDisableHeaderCheck(true);
return true;
}
})
这是我要设置的标题:
headers = headers.set('Accept-Language', 'en-US,en;q=0.8')
.set('Host', '<game-host>')
.set('Referer', '<game-domain>')
.set('Accept-Encoding', 'gzip, deflate, sdch')
.set('User-Agent', 'Mozilla/5.0 (Windows NT 6.3 WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36')
.set('<game-name>-Session', 'ap_session=undefined')
.set('Origin', '<game-domain>')
.set('Connection', 'keep-alive')
.set('Accept', 'application/json, text/javascript, */* q=0.01')
.set('Content-Type', 'application/json charset=utf-8')
.set('<agent>', '1|Web-FB|Chrome 39.0.2171.65|0|Windows|0|1.1||en||1')
.set('<referer-string>', 'true');