cors-anywhere.herokuapp.com无法正常工作(503)。我还能尝试什么?

时间:2017-11-02 13:38:43

标签: angular rest heroku cors cors-anywhere

我正在尝试向Wikipedia API发送get请求。我发送请求形式一个角度前端所以我正在尝试使用Heroku CORS Anywhere端点来避免CORS问题。出于某种原因,我仍然得到503响应,表示请求的资源上没有access-control-allow-origin报头。知道为什么会这样吗/我还能尝试什么?

我的代码:

import { Injectable } from '@angular/core';
import { Http, Response, } from '@angular/http';
import { Observable } from 'rxjs/Rx';



@Injectable()
export class RestService {
    API_URL: string = 'https://cors-anywhere.herokuapp.com/https://en.wikipedia.org/wiki/';

  constructor(private http: Http) { }

  public getRandomArticle() : Observable<any> {
        return this.http.get(`${this.API_URL}Special:Random`)
        .map((res: Response) => res.json())
        .catch((err: any) => Observable.throw(err || 'server error'));
  }

}

1 个答案:

答案 0 :(得分:11)

您可以在短短2-3分钟内将 CORS Anywhere 服务器部署到Heroku,使用5个命令:

git clone https://github.com/Rob--W/cors-anywhere.git
cd cors-anywhere/
npm install
heroku create
git push heroku master

运行这些命令后,您最终将拥有自己的 CORS Anywhere 代理,例如https://cryptic-headland-94862.herokuapp.com/。因此,不要使用https://cors-anywhere.herokuapp.com为请求网址添加前缀,而是使用您自己的代理网址为其添加前缀。