2012-12-13 3 views
9

Desidero effettuare chiamate HTTPS da una pagina Web HTTP. Spero di risolvere questo problema con Access-Control-Allow-Origin. Come posso usarlo?Come utilizzare Access-Control-Allow-Origin: https://www.example.com?

+0

Cerca prima di chiedere ... http://stackoverflow.com/a/6120260/1626399 – bobthyasian

+0

Ho già provato e non ha funzionato. – user1874941

+2

Il server HTTPS deve inviare le intestazioni [controllo accessi _Allow-Origin_ e _Credentials_] (https://developer.mozilla.org/en/docs/HTTP_access_control) che consentono l'origine della chiamata ajax. –

risposta

9

Nella pagina HTTPS (che si richiede dalla pagina HTTP) impostare l'intestazione:

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

Puoi fai questo in PHP con:

<?php 
    header("Access-Control-Allow-Origin: http://www.requesting-page.com"); 
?> 

In alternativa, se ciò non funziona, puoi creare un file sul tuo server HTTP (dove e la richiesta proviene da) che scarica e visualizza il contenuto, questo può essere fatto in PHP con:

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

non vi consiglio di fare questo in quanto richiede la larghezza di banda in più e non è una buona pratica, solo dovrebbe essere usato se non puoi fare la prima opzione. Inoltre, se uno sviluppatore ha impostato il controllo degli accessi per essere limitato è probabilmente per un motivo.