私のrestler3apiは、ローカルテストサーバーで正常に動作し、同じサーバーからの呼び出しの場合は本番サーバーで正常に動作しますが、リモートで呼び出しを行うと失敗します。
luracastオンラインの例で同じRESTクライアントを使用すると、リモートコールで正常に機能するため、構成(APIまたは本番サーバー)に何かが含まれている必要があります。
ヘッダーを送信する必要があるという言及を見つけたので、これらのヘッダーをindex.phpファイルに追加してみました。
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, PATCH, DELETE');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: *');
しかし、それは役に立ちませんでした。FirefoxでRESTClientアドオンを使用すると、これらのヘッダーが送信され、これらのヘッダーコマンドを使用するかどうかに関係なく、ブラウザーにローカルとリモートの両方でデータが表示されることがわかります。
呼び出しの例は次のとおりです: https ://api.masterpiecesolutions.org/v1/artists/?key = A4oxMOYEUSF9lwyeFuleug ==
その呼び出しの私のindex.phpはこれを使用し、2番目のパラメーターをルートレベルにマップします
$r->addAPIClass('Artists', '');
それが適切かどうかわからない。
また、本番サーバーはAmazon EC2なので、セキュリティポリシーと関係があるのではないでしょうか。
または、他のヘッダーの問題でしょうか?グーグルクロームでは、Advanced Rest Client拡張機能を使用して、ステータスを提供し403 Forbidden
、 (ローカルサーバーまたはリモートサーバーを使用してContent-Type
いるtext/plain
かどうかにかかわらず)Firefoxアドオンとは異なり、まったく機能しません。
Restler.phpでもの使用が見られますが$_SERVER['HTTP_ORIGIN']
、これはまだどこでもサポートされていないようです。