2017-02-13 15 views
1

Angular2で開発されたWebアプリケーションでJW Platformサービスを使用する際に問題が発生しています。JW Player(api.jwplatform.com) - CORSの問題

JWplayerが 'api.jwplatform.com'エンドポイントでCORSリクエストを適切に管理していないとしますか?

ここに該当します。

Accept:application/json, text/plain, */* 
Accept-Encoding:gzip, deflate, sdch, br 
Accept-Language:it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4,fr;q=0.2,de;q=0.2,es;q=0.2 
Connection:keep-alive 
Host:api.jwplatform.com 
Origin:https://mydomain 
Referer:https://mydomain/channels 
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 

ははもちろん、私は要求を送信していたからであるドメインMYDOMAINた:私は、次の要求

Request URL:https://api.jwplatform.com/v1/channels/list/?api_format=xml&api_key=BNgTpOY5&api_nonce=33502681&api_timestamp=1487003685&types_filter=manual&api_signature=287df9d7dcefaf9bcae656c518a4cc29718bcaeb 
Request Method:GET 
Status Code:200 OK 
Remote Address:10.68.96.40:8080 

これらは、リクエストヘッダを送信していますよ。 Iは、エンドポイントから取得レスポンスヘッダの下

Cache-Control:no-cache 
Connection:keep-alive 
Content-Length:3847 
Content-Type:application/xml; charset=utf-8 
Date:Mon, 13 Feb 2017 16:34:46 GMT 
Pragma:no-cache 
Server:openresty 
X-RateLimit-Limit:60 
X-RateLimit-Remaining:58 
X-RateLimit-Reset:1487003700 

上記から分かるように、全く「アクセス制御 - 許可 - 起源:*」が存在しないヘッダレスポンスおよびしたがって、アプリは検索されたデータにアクセスすることはできません。 200 O KまたはサーバからJSONデータ:ブラウザのコンソールで、私はステータスコードの両方を見ることができることを

は注意してください。 すべてがプロキシの背後で動作しますが、これはdev envでのみ動作します。

私を助けてくれてありがとう。

+0

CORSは、サーバの設定です。 Angularはそれに責任を負いません。 https://enable-cors.org/server.htmlを参照してください。 – AngularChef

+0

[Angular HTTP GET CORS Error]の重複の可能性あり(http://stackoverflow.com/questions/42048116/angular-http-get-cors-error) – mplungjan

答えて

0

「api.jwplatform.com」エンドポイントでJWplayerがCORSリクエストを適切に管理していないとしますか?

はい。

あなたはこの作業を取得したいのであれば、唯一の現実的な解決策は、リバースプロキシを設定するか、または代わりに直接https://api.jwplatform.com/v1/channels/list/?…にリクエストを送信するようにhttps://cors-anywhere.herokuapp.com/

としてオープンリバースプロキシを使用することで、https://cors-anywhere.herokuapp.com/https://api.jwplatform.com/v1/channels/list/?…がありますそこであなたの要求を代理し、Access-Control-Allow-Originヘッダーと他の予期されるCORSヘッダーでブラウザに応答します。

あなたはcors-anywhere packageでNode.jsの中でどこでもCORSの独自のインスタンスを設定することができます。

npm install --save cors-anywhere 
関連する問題