【发布时间】:2018-01-21 13:31:10
【问题描述】:
我正在尝试下载(获取)返回字符串而不是 XML 和 JSON 的网页。
基本上有什么方法可以像 C# 中的 WebClient.DownloadString 一样在 Angular4 中将网页作为字符串下载?
注意: 我以为我可以使用 http 方法(observables、promises、JSONP)来下载一个网站。但无论如何我都试过了。
据我所知,我无法使用 JSONP,因为它将结果解析为 json,我收到错误,因为响应是字符串而不是 JSON。
并且 observables 和 promises 失败,因为我得到了 CORS 错误。而且我不确定为什么会收到 CORS 错误,因为它不是 RESTful 服务、WCF 或 Web api 等。
请求的资源上不存在“Access-Control-Allow-Origin”标头。
我也尝试过 HttpClient,但我又遇到了 CORS 错误。
所以我相信 Angular 中应该有一些其他的方法、组件或模块可以将网页作为字符串下载。
【问题讨论】:
-
那么为什么有角度标签呢?这是关于浏览器CORS的。如果任何站点具有不同的域,如果它没有 CORS 标头,则它不能被 reuest 访问。
-
因为我正试图找到一种使用 Angular 下载网站的方法。这不是 RESTful 服务或 WCF 或 API,它只是一个网页。所以我不确定为什么我也会收到 CORS 错误。因此,使用 http 服务时,我无法下载网站。但我相信 Angular 中应该有一些我可以使用但找不到的东西。另一方面,我可以使用 C# 或任何其他语言下载网站,而不会出现 CORS 错误。所以问题是; Angular中是否有类似WebClient方法的东西可以将网页下载为字符串。
-
您在发出 GET 请求吗?是
Simple request描述的here -
感谢您,但您发送的链接与 RESTful 调用有关。我实际上是在尝试找到一种下载网站的方法,所以我认为 http get requests(observables、promises 和 JSONP)不是下载网页的正确方法,因为它们只是 RESTful 服务方法。所以我认为应该有其他方式(方法、组件、技术、其他)在 Angular 中下载网站。
标签: javascript angular cors same-origin-policy