如何使用httpclient

时间:2019-03-20 09:07:52

标签: angular angular5 angular-httpclient

我正在尝试从后端获取压缩文件。请找到以下httpclient的代码:

我在标头中尝试了多个选项,以不同的选项添加内容类型。但无法提出确切的模板。我在angular api中找不到与从服务器获取压缩数据有关的任何内容。请让我知道是否有人会提出类似的问题。

getSpecialHeaders() {
    return new HttpHeaders({
         'Content-Encoding': 'gzip',
         'specialHeader': '',
         'Content-Type': 'gzip'
    });
}

getAllUnitsReport() {
 //Function to get the gzip data
const headersSpl = this.getSpecialHeaders();
//httpoptions with different options tried in content-type and accept encoding
const httpOptions = {
  headers : headersSpl };
return this.httpClient.get(envConfig.appURL.assetAdoption, httpOptions)
  .catch((error) => {
    return Observable.of(error);
  });}

http调用成功后,出现以下错误消息:

  

(未知网址)的HTTP错误响应:0未知错误

1 个答案:

答案 0 :(得分:0)

Content-Encoding标头是服务器提供的响应标头。

通常,客户端提供一个Accept-Encoding标头,以指定要请求的内容编码。

例如:Accept-Encoding: gzip, deflate

请参见Compressing with gzip上的MDN

但是,这个特定的标头被标记为forbidden header,这意味着它不能通过在浏览器中执行的Javascript进行编程设置(但是仍然可以在Node中使用)。

大多数浏览器会自动添加一个Accept-Encoding标头,其中包含它支持的所有内容编码。