2010-10-05 4 views
1

J'ai essentiellement créé un script en utilisant Curl et PHP qui envoie des données sur le site Web par exemple. hôte, port et heure. Ensuite, il soumet les données. Comment saurais-je si le Curl/PHP a réellement envoyé ces données aux pages Web? "? Host ="....PHP - Comment vérifier si Curl envoie/envoie une requête?

$ fullcurl = $ host "& time =" $ temps »?

Les façons de voir s'ils ont envoyé réellement les données à ces URL sur My MYSQL

Répondre

0

afin d'être sûr que boucle envoie quelque chose, vous aurez besoin d'un renifleur de paquets. vous pouvez wireshark par exemple.

J'espère que cela vous aidera,

Jerome Wagner

+0

Non, j'ai entendu dire que j'ai besoin de regex ou curlopt. – Ray

+0

Bonjour. Je pense que je comprends mal votre question. quelle est la relation entre curl faisant son travail et mysql? –

+0

Fondamentalement, curl récupère les URL de MYSQL puis leur envoie les données de publication. – Ray

12

Vous pouvez utiliser curl_getinfo() pour obtenir le code d'état de la réponse comme ceci:

// set up curl to point to your requested URL 
$ch = curl_init($fullcurl); 
// tell curl to return the result content instead of outputting it 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

// execute the request, I'm assuming you don't care about the result content 
curl_exec($ch); 

if (curl_errno($ch)) { 
    // this would be your first hint that something went wrong 
    die('Couldn\'t send request: ' . curl_error($ch)); 
} else { 
    // check the HTTP status code of the request 
    $resultStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    if ($resultStatus == 200) { 
     // everything went better than expected 
    } else { 
     // the request did not complete as expected. common errors are 4xx 
     // (not found, bad request, etc.) and 5xx (usually concerning 
     // errors/exceptions in the remote script execution) 

     die('Request failed: HTTP status code: ' . $resultStatus); 
    } 
} 

curl_close($ch); 

Pour référence: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Ou, si vous faites des demandes à une sorte d'API qui renvoie des informations sur le résultat de la requête, vous devriez obtenir ce résultat et l'analyser. Ceci est très spécifique à l'API, mais voici un exemple:

// set up curl to point to your requested URL 
$ch = curl_init($fullcurl); 
// tell curl to return the result content instead of outputting it 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

// execute the request, but this time we care about the result 
$result = curl_exec($ch); 

if (curl_errno($ch)) { 
    // this would be your first hint that something went wrong 
    die('Couldn\'t send request: ' . curl_error($ch)); 
} else { 
    // check the HTTP status code of the request 
    $resultStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    if ($resultStatus != 200) { 
     die('Request failed: HTTP status code: ' . $resultStatus); 
    } 
} 

curl_close($ch); 

// let's pretend this is the behaviour of the target server 
if ($result == 'ok') { 
    // everything went better than expected 
} else { 
    die('Request failed: Error: ' . $result); 
} 
Questions connexes