Ich schreibe einen Web-Scraper für eine Hybrid-App. Ich habe es mit eckigen geschrieben. Ich muss mich auf einer Website anmelden, um Videos zu holen. Ich kann mich zwar auf Safari einloggen, aber auf Chrome gibt es mir den Access-Control-Allow-Origin-Fehler und ich kann das nicht ändern, da die Seite, die ich versuche zu scrappen, diesen Header nicht bereitstellt. Ich habe versucht, die Websicherheit in Chrome zu deaktivieren, funktioniert aber immer noch nicht. Die App funktioniert gut in Safari, aber wenn ich sie in Ionic verpacke, loggt sie sich nicht auf der Website ein und es werden keine Fehlercodes angezeigt. Dies ist, was der Kopf von meiner HTML-Seite wie folgt aussieht:POST-Anfrage funktioniert auf Safari, aber nicht auf Chrome und 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>
Meine POST-Anfrage wie folgt aussieht, in der js-Datei:
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);
Die POST-Anforderung scheint mit jedem csrf Token auf Safari zu arbeiten ab jetzt.
ich auf einem Mac bin, aber ich versuchte, den entsprechenden Befehl und Chrom immer noch nicht funktioniert, gleichen Fehler. Habe schon das Whitelist-Plugin. Die Konfiguration wurde so geändert, dass sie ' ' enthält, aber es funktioniert immer noch nicht. –
Inalek
Verwenden Sie unter Befehl aus dem Terminal für die gleichen: Öffnen/Anwendungen/Google \ Chrome.app --args --user-data-dir = "/ var/tmp/Chrome-Dev-Sitzung" --disable-web-Sicherheit – Krunal
Haben Sie installiert Whitelist-Plugin? – Krunal