2012-12-13 4 views
9

Ich möchte HTTPS-Anrufe von einer HTTP-Webseite machen. Ich hoffe, dieses Problem mit Access-Control-Allow-Origin zu lösen. Wie kann ich es benutzen?So verwenden Sie Access-Control-Allow-Origin: https://www.example.com?

+0

suchen, bevor er fragt ... http://stackoverflow.com/a/6120260/1626399 – bobthyasian

+0

Ich habe es schon ausprobiert und funktionierte nicht. – user1874941

+2

Der HTTPS-Server muss seine Header [access control _Allow-Origin und _Credentials_] (https://developer.mozilla.org/en/docs/HTTP_access_control) senden, die den Ursprung des Ajax-Aufrufs ermöglichen. –

Antwort

9

Auf der HTTPS-Seite (die Sie von der HTTP-Seite anfordern) den Header:

Access-Control-Allow-Origin: http://www.example.com

Sie können tun dies in PHP mit:

Alternativ, wenn das nicht funktioniert, könnten Sie eine Datei auf Ihrem HTTP-Server erstellen (where e die Anfrage kommt aus), dass Downloads und zeigt den Inhalt, kann dies mit in PHP erfolgen:

<?php 
    echo file_get_contents("https://www.requested-page.com"); 
?> 

würde ich das nicht empfehlen, tun, da es zusätzliche Bandbreite benötigt und ist keine gute Praxis, sollte es nur verwendet werden, wenn Sie die erste Option nicht ausführen können. Wenn ein Entwickler die Zugriffskontrolle eingeschränkt hat, ist das wahrscheinlich ein Grund.