Visualizzazione risultati 1 fino 5 di 5

Discussione: Problema con cURL

  1. #1
    Guest

    Predefinito Problema con cURL

    Ho un piccolo script che sfrutta la libreria cURL per ottenere l'indirizzo di un redirect, su un altro server funziona tutto a dovere, mentre su altervista no; l'url di partenza è http://dizionario-italiano.org/Speciale:PaginaCasuale e lo script su altervista continua a restituirmi come stirnga "Speciale:PaginaCasuale" al posto che la pagina random.
    Nelle impostazioni del mio sito ho abilitato il "Collegamento esterno senza restrizioni".
    EDIT: Ho sbagliato sezione, chiedo scusa e se gentilmente qualcuno può spostare il thread nella sezione più giusta.

    Codice PHP:
    <?php
    header
    ('Access-Control-Allow-Origin: *');

    $limiter = 'http://dizionario-italiano.org/';

    $ch = curl_init('http://dizionario-italiano.org/Speciale:PaginaCasuale');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_exec($ch);

    $url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

    $word = substr($url, stripos($url, $limiter)+strlen($limiter), strlen($url));
    echo
    $word;
    ?>
    Ultima modifica di trollz : 24-06-2014 alle ore 19.08.11 Motivo: sezione sbagliata

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Per come funzionano le connessioni verso l'esterno di Altervista è purtroppo il comportamento normale perché non segue le location e quindi le devi gestire manualmente. Quindi devi abilitare l'opzione CURLOPT_HEADER e poi identificare l'HTTP header "Location" e ripetere la richiesta con la nuova URL.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Grazie mille, ho risolto aggirando il problema come mi hai suggerito tu. C'è qualche post che spiega come mai altervista non segue le location?

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    No, non c'è. Comunque se hai fatto una funzione che aggira il problema puoi postarlo qui, magari torna utile anche a qualcun altro.
    Ultima modifica di saitfainder : 26-06-2014 alle ore 10.23.24


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    ecco qua lo script riscritto senza la FOLLOWLOCATION
    Codice PHP:
    <?php
    header
    ('Access-Control-Allow-Origin: *');

    $url = 'http://dizionario-italiano.org/';

    $ch = curl_init($url.'Speciale:PaginaCasuale');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);

    $var = curl_exec($ch);

    $matches = array();
    if (
    preg_match("/Location: http:\/\/dizionario-italiano\.org\/(\S+)/i", $var, $matches)) {
    echo
    $matches[1];
    }
    ?>

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •