Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Utilizzo librerie CURL con php

    Salve,
    ho questo problema in javascript

    in pratica ho dei file xml che risiedono su un server
    io devo accedere al server e leggere questi file xml
    devo farlo via html con il javascript

    i browser non permettono l'accesso ad un dominio diverso da quello in cui è caricata la pagina, quindi devo utilizzare qualche cosa per connettermi ad un dominio fuori dal mio, per esempio le librerie CURL, posto il codice in php:

    codice:
    <?
    	$URL=$_POST['URL'];
    
    	$URL = rawurldecode($URL);
    	$URL = stripslashes($URL);
    
    	// make sure curl is installed
    	if (function_exists('curl_init')) {
    	   // initialize a new curl resource
    	   $ch = curl_init();
    
    	   // set the url to fetch
    	   curl_setopt($ch, CURLOPT_URL, $URL);
    
    	   // don't give me the headers just the content
    	   curl_setopt($ch, CURLOPT_HEADER, 0);
    
    	   // return the value instead of printing the response to browser
    	   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    	   // use a user agent to mimic a browser
    	   curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
    
    	   $content = curl_exec($ch);
    	
    		echo $content;
    
    	   // remember to always close the session and free all resources
    	   curl_close($ch);
    	} else {
    	   // curl library is not installed so we better use something else
    	}
    ?>
    in pratica l'idea è che se dal javascript faccio una richiesta POST a questo script php, lui si collega e mi stampa l'xml

    se inizialmente imposto la variabile $URL a mano all'url che voglio io, funziona tutto! mi stampa correttamente il contenuto...quindi lo script php effettivamente si collega ad un dominio esterno

    il problema è far funzionare il javascript...:

    codice:
    function prendi(URL,URLProxy){
    	var xmlHTTP;
    	xmlHTTP = apriXMLHTTPRequest();
    	parametriScript = "URL="+encodeURIComponent(URL);			
    	xmlHTTP.open("POST",URLProxy,false);
    	xmlHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');		
    	xmlHTTP.send(parametriScript);
    
    	/* A questo livello certamente ho il risultato */
    	if (xmlHTTP.status == 200){
    		var parser=new DOMParser();	  		   domRisposta=parser.parseFromString(xmlHTTP.responseText,"application/xhtml+xml");
    		alert(domRisposta.getElementsByTagName('global')[0].getAttribute('list-layout'));
    	} else {
    		return false;	
    	}
    }
    l'idea quindi è che con la xmlHTTP.open mando via POST l'URL del proxy, con parametriScript passo invece l'URL del file xml che voglio leggere
    e vorrei ovviamente che lui prendesse il contenuto del file xml (dove x prova ho fatto una stampa)

    ah non ho riportato la funzione apriXMLHTTPRequest(), che semplicemente crea una richiesta...quella funziona fidatevi,
    infatti se provo a mettere come URL un file nel mio dominio, tutto questo meccanismo funziona, ma se i file è fuori dal dominio allora mi dice che non ho il permesso per attivare la xmlHTTP.open (questo errore me lo da firebug)

    riuscite a darmi una mano?

    Daniele

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Utilizzo librerie CURL con php

    Originariamente inviato da zell
    .....
    infatti se provo a mettere come URL un file nel mio dominio, tutto questo meccanismo funziona, ma se i file è fuori dal dominio allora mi dice che non ho il permesso per attivare la xmlHTTP.open (questo errore me lo da firebug)

    riuscite a darmi una mano?

    Daniele
    Ti sei già risposto al tuo problema non c'è soluzione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    si ma io non capisco
    se con il file php ho fatto un echo del contenuto del file XML
    al javascript cosa gliene frega da dove l'ho preso?

    io mi aspetto che con quel xmlHTTP io mi collego a proxy (che ce l'ho in locale dove sta lo script) e poi si pensa il proxy a connettersi al file XML

  4. #4
    ho risolto, era sbagliata la funzione in js

    ora va tutto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.