私はハイブリッドアプリ用のウェブスクレーパーを書いています。私は角度を使って書きました。私はビデオをフェッチするためにウェブサイトにログインする必要があります。私はSafari上でログインすることができますが、ChromeではAccess Control-Allow-Originエラーが表示されます。私が掻き取ろうとしているサイトがそのヘッダーを提供しないため、これを変更することはできません。 Chromeでウェブセキュリティを無効にしようとしましたが、それでも機能しません。アプリはSafariでうまく動作しますが、Ionicでパッケージ化するとウェブサイトにログインせず、エラーコードもスローされません。これは私のhtmlページの先頭に次のようになります。POSTリクエストはSafariで動作しますが、ChromeとIonicでは動作しません
<meta charset="utf-8">
<!--<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">-->
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-eval' 'unsafe-inline'">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="cordova.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<!--don't need angular script because already loaded somewhere else
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>-->
<script src="webscrape.js"></script>
私のPOSTリクエストがJSファイルに、次のようになります。
login: function(token) {
var request = {
method: 'POST',
url: 'http://bslsignbank.ucl.ac.uk/accounts/login',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: 'csrfmiddlewaretoken=' + token + '&email=stackoverflow%40sto.ac.uk&password=dontworry&next=%2F'
};
return $http(request);
POSTリクエストは、任意のCSRFトークンとSafariで動作するようです今のところ。
を試してみてくださいをplugingホワイトリストを実装するために、このlinkをチェックしてください。既にホワイトリストプラグインがあります。 configを ' 'を含むように変更しましたが、それでも動作しません。 –
Inalek
以下のコマンドを端末から使用する:open/Applications/Google \ Chrome.app --args --user-data-dir = "/ var/tmp/Chrome devセッション" --disable-web-security – Krunal
ホワイトリストプラグイン? – Krunal