Estou usando funções PHPcurl
para postar dados no servidor da web da minha máquina local. Meu código é o seguinte:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($c);
if (curl_exec($c) === false) {
echo "ok";
} else {
echo "error";
}
curl_close($c);
Infelizmente, não consigo detectar erros como 404, 500 ou falha de rede. Então, como vou saber que os dados não foram postados ou recuperados do controle remoto?
curl_exec()
retorno é falso, ocurl_error()
retorno recebe alguma mensagem?curl_setopt($ch,CURLOPT_FAILONERROR,true);
Se
CURLOPT_FAILONERROR
forfalse
, erros de http não acionarãocurl
erros.fonte
você pode gerar erro de curvatura após sua execução
e aqui estão os códigos de erro de ondulação
fonte
Como você está interessado em capturar erros relacionados à rede e HTTP, o seguinte fornece uma abordagem melhor:
Testes:
fonte
fonte