ウィキペディアAPIにgetリクエストを送信しようとしています。 angularフロントエンドからリクエストフォームを送信しているので、CORSの問題を回避するためにHeroku CORS Anywhereエンドポイントを使用しようとしています。何らかの理由で、アクセスできないという503応答がまだ表示されます。 -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'));
}
}
5つのコマンドを使用して、CORS Anywhereサーバーを文字通りわずか2〜3分でHerokuにデプロイできます。
git clone https://github.com/Rob--W/cors-anywhere.git
cd cors-anywhere/
npm install
heroku create
git Push heroku master
これらのコマンドを実行すると、独自のCORS Anywhereプロキシが実行されます(例: https:// cryptoc-headland))。 -94862.herokuapp.com/ 。したがって、リクエストURLの前にhttps://cors-anywhere.herokuapp.com
を付ける代わりに、独自のプロキシのURLを前に付けます。