2016-03-29 20 views
0

Ich versuche eine Website mit Polymer zu erstellen, die Fantasy-Footballspielern einige Hilfsprogramme bietet. Ein Teil dieser Herausforderung besteht darin, die Liga eines Mitglieds zu importieren und einige Analysen durchzuführen.Web Scraping und Mixed Content

Meine Website ist sicher (HTTPS). Die Website mit der Liga-Information des Mitglieds ist unsicher (HTTP). Jedes Mal, wenn ich versuche, Daten von der Website zur Verfügung gestellt zu kratzen, erhalte ich diesen Fehler:

Mixed Content: The page at ' https://www.mywebsite.com ' was loaded over HTTPS, but requested an insecure HTML Import ' http://www.theirwebsite.com '. This request has been blocked; the content must be served over HTTPS.

ich das Internet durchforstet habe versucht, einen Weg zu finden, Team-Daten aus ihrer Website zu kratzen, so dass ich auf diese Daten manipulieren mein Ende.

Da ich Polymer verwende, gibt es eine Möglichkeit, auf Daten zuzugreifen, die sich auf einer unsicheren Website befinden?

Antwort

0

Sie werden nicht können eine Webseite über HTTP auf der Client-Seite (d. H. Im Browser, in JavaScript) anfordern, wenn Ihre Website über HTTPS geladen wurde. Nicht viel kann man dagegen tun.

Eine Option wäre, ein Backend zu haben (auf der Serverseite, zum Beispiel PHP oder NodeJS), das Scraping durchzuführen und das Ergebnis an Ihre clientseitige Anwendung zurückzugeben.

Eine andere Option, vielleicht einfacher, wenn Sie die Verarbeitung auf der Client-Seite bevorzugen, wäre, Ihren Server Proxy Ihre Anfrage zu machen und Ihnen das Ergebnis zurückzusenden. Wenn Sie beispielsweise auf http://example.com zugreifen möchten, können Sie ein Skript proxy.php verwenden, das Sie über die URL https://yourwebsite.com/proxy.php?url=http%3A%2F%2Fexample.com (1) in Ihrem JavaScript-Code aufrufen können. Dieses Skript lädt einfach die Website und gibt Ihnen den HTML-Code zurück. (Siehe zum Beispiel cURL, wenn Sie dies mit PHP tun wollen, oder request wenn Ihr Knoten bevorzugen.)

(1) die% 3A entspricht einer URL-codiert slash