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?
risposta
Non puoi, davvero. È il browser che lo impedisce. Ragioni di sicurezza. Puoi guardare in cURL. Leggere questo intervento: https-request-via-ajax-from-http-page
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.
Cerca prima di chiedere ... http://stackoverflow.com/a/6120260/1626399 – bobthyasian
Ho già provato e non ha funzionato. – user1874941
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. –