Visualizzazione risultati 1 fino 13 di 13

Discussione: Server To Server attivato, ma sito esterno irraggiungibile

  1. #1
    Guest

    Predefinito Server To Server attivato, ma sito esterno irraggiungibile

    Salve,

    ho attivato da tempo la funzionalità Server To Server senza restrizioni. Non riesco a raggiungere questo sito dalla mia pagina PHP ospitata su Altervista: http://www.mocky.io/v2/55ddc494096d47f407a9e047

    Carica e poi alla fine va in timeout.

    Cosa posso fare?

    P.S. : Non riesco a trovare il numero dove spedire l'SMS dalla pagina delle impostazioni PHP, forse era già stato spedito al tempo. Ho ereditato questo account da un'altra persona.

    Grazie.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    A me funziona correttamente: http://alemoppo.altervista.org/LABS/mocky.php

    Questo è lo script:
    Codice PHP:
    <?php
    echo file_get_contents('http://www.mocky.io/v2/55ddc494096d47f407a9e047');
    ?>
    Nel pannello di controllo (qui) deve essere così:


    Se non hai l'impostazione come nell'immagine, il numero a cui inviare l'sms dovrebbe apparirti in quella pagina.

    Ciao!
    Ultima modifica di alemoppo : 26-08-2015 alle ore 16.39.20

  3. #3
    Guest

    Predefinito

    Grazie.

    In effetti, con la file_get_contents() funziona anche a me. Io sto provando a connettermi con le cURL, forse sbaglio qualcosa lì.

    Non sono molto pratico con PHP :)

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    Beh allora non è problema server2server.

    Scrivi qui il codice con cui stai provando.

    Ciao!

  5. #5
    Guest

    Predefinito

    Sorry, avevo dato per scontato che questo codice funzionasse:

    Codice PHP:
    <?php
    $url
    = 'http://www.mocky.io/v2/55ddc494096d47f407a9e047';

    // Client IP Address
    $ip_address = get_client_ip();

    // Client token
    $token = $ip_address;

    // Building request for IP2MSISDN request
    $post_data = '<?xml version="1.0" encoding="utf-8"?>
    <ip2msisdnRequest>
    <ip>'
    . $ip_address . '</ip>
    <port>'
    . $_SERVER['REMOTE_PORT'] . '</port>
    <token>'
    . $token . '</token>
    <service>trialcea</service>
    </ip2msisdnRequest>'
    ;

    $ch = curl_init();

    $options = array(
    CURLOPT_URL => $url ,
    CURLOPT_POST => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_HTTPHEADER => array('Content-Type: application/xml',
    'Content-Length: ' . strlen($post_data)),
    CURL_POSTFIELDS => $post_data
    );

    curl_setopt_array($ch , $options);

    $response = curl_exec($ch);
    curl_close($ch);

    echo
    $response;
    Ultima modifica di alemoppo : 26-08-2015 alle ore 18.45.59 Motivo: +tag [php] +<?php

  6. #6
    Guest

    Predefinito

    Ok, credo di aver trovato l'inghippo anche se non capisco perché ci mette tanto a darmi la risposta. E' sbagliata la direttiva CURL_POSTFIELDS. Deve essere CURLOPT_POSTFIELDS.

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    Citazione Originalmente inviato da ceaprova Visualizza messaggio
    anche se non capisco perché ci mette tanto a darmi la risposta
    Perché visto che ho anche una vita e sono soltanto un "volontario" qui (non obbligato a rispondere), ancora non avevo visionato il tuo sorgente.

    Ciao!

  8. #8
    Guest

    Predefinito

    Ma non mi riferivo a te (scusa se ti do del tu)!!! Io mi riferivo al server che ci mette tanto a darmi la risposta.

    E' strano perché alle volte va subito veloce, mentre altre volte ci mette una vita. Sembra come se lo sovraccaricassi.

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    Ah ok scusami avevo capito male.

    Prova ad aggiungere dopo la chiamata:
    Codice PHP:
    $info = curl_getinfo($ch);
    var_dump($info);
    Nel campo CURLINFO_TOTAL_TIME dovremmo vedere il tempo.

    Comunque, nelle opzioni (curl_setopt) puoi impostare anche CURLOPT_TIMEOUT, ovvero il massimo tempo che la richiesta può impiegarci. Se non riesce in tempo la richiesta fallisce, quindi puoi o mostrare un errore o ri-effettuare la richiesta.

    (sposto nella sezione PHP)

    Ciao!
    Ultima modifica di alemoppo : 28-08-2015 alle ore 18.15.35 Motivo: parentesi sbagliata, me ne son accorto solo ora :v

  10. #10
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    codice sbagliato
    Codice PHP:
    <?php
    $url
    = 'http://www.mocky.io/v2/55ddc494096d47f407a9e047';

    // Client IP Address
    $ip_address = $_SERVER['REMOTE_ADDR'];

    // Client token
    $token = $ip_address;

    // Building request for IP2MSISDN request
    $post_data = 'code='.urlencode('<?xml version="1.0" encoding="utf-8"?>
    <ip2msisdnRequest>
    <ip>'
    . $ip_address . '</ip>
    <port>'
    . $_SERVER['REMOTE_PORT'] . '</port>
    <token>'
    . $token . '</token>
    <service>trialcea</service>
    </ip2msisdnRequest>'
    );

    $ch = curl_init();

    $options = array(
    CURLOPT_URL => $url ,
    CURLOPT_POST => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded',
    'Content-Length: ' . strlen($post_data)),
    CURLOPT_POSTFIELDS=> $post_data
    );

    curl_setopt_array($ch , $options);

    $response = curl_exec($ch);
    curl_close($ch);

    echo
    $response;
    content type per get e post (o post multipart in genere per file) ne esiste uno solo. Il post data va url encodato var=valore o var1=valore1&var2=valore2
    Ultima modifica di darbula : 28-08-2015 alle ore 16.23.11 Motivo: name valido per html

  11. #11
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Darbula: perché scrivi questo? L'header Content-Type per una richiesta (ma anche per una risposta) può benissimo avere come valore application/xml.

  12. #12
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Ciao karl94 non voglio sembrare arrogante anzi ti dirò che ti apprezzo leggerti e dare una mano a chi a bisogno. Fatta questa premessa andiamo al dunque, sul manuale per curl_setopt sta scritto che quando si abilità CURLOPT_POST TRUE è la normale operazione di un form
    Codice:
    TRUE to do a regular HTTP POST. This POST is the normal application/x-www-form-urlencoded kind, most commonly used by HTML forms.
    e se si usa CURLOPT_POSTFIELDS
    Codice:
    The full data to post in a HTTP "POST" operation. To post a file, prepend a filename with @ and use the full path. The filetype can be explicitly specified by following the filename with the type in the format ';type=mimetype'. This parameter can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value. If value is an array, the Content-Type header will be set to multipart/form-data. As of PHP 5.2.0, value must be an array if files are passed to this option with the @ prefix. As of PHP 5.5.0, the @ prefix is deprecated and files can be sent using CURLFile. The @ prefix can be disabled for safe passing of values beginning with @ by setting the CURLOPT_SAFE_UPLOAD option to TRUE.
    come stringa è lo stesso content type mentre se si utilizza come array è multipart/form-data (se ho capito bene il content type si puo impostare solo se è un file e viene inviato come string). Qui si invia dati non si affettuava una richiesta (GET) comunque in richiesta si dice io accetto ed in risposta il content type che accetta il browser!! Perciò se non viene modificato sul manuale è errato (anche il solo pensarlo) application/xml .Ti sarei grado di sapere se il mio pensiero sia errato?
    Ultima modifica di darbula : 29-08-2015 alle ore 13.50.54

  13. #13
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Quello vale solo se vuoi inviare una richiesta che riporta i dati di un modulo HTML (form), ma non è sempre quello il caso.

Regole di scrittura

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