Угловой URL-адрес http.get () как необработанный HTML - PullRequest
1 голос
/ 10 июля 2019

Я создаю сайт для назначения, где я хочу динамически загружать некоторые данные. Проблема в том, что данные приходят только с веб-сайта, без API или чего-либо еще. Есть ли какой-нибудь способ, которым я могу использовать http.get в angular, чтобы вытащить весь сайт как необработанный HTML, который я могу затем проанализировать для получения информации?

Спасибо

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Вы можете установить responseType на "text", чтобы получить ответ в виде строки.

this.httpClient.get(url, {responseType: "text"})

См. Метод перегрузки № 3:

https://angular.io/api/common/http/HttpClient#get

Примечание. Для междоменных запросов GET применяется CORS

0 голосов
/ 10 июля 2019

Рабочий пример

service.ts

  getRawData(): Observable<any> {
    const api = 'https://www.w3.org/TR/PNG/iso_8859-1.txt';
    return this.httpClient.get(api,{ responseType: 'text' });    
  }

component.ts

import { Component, OnInit } from '@angular/core';

import { HttpClient } from '@angular/common/http';
import { AppService } from './app.service';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
  name = 'Angular 5';
  rawlist: any;

  constructor(private appService: AppService) {}

  ngOnInit() {}

  getRawData() {
    this.appService
      .getRawData()
      .subscribe(
        data => this.rawlist=data,
        error => console.log(error)
      );
  }

}

.html

<button (click)="getRawData()">get raw data </button>

 {{rawlist }}
...