Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma requisição curl que não coelta os dados da url que preciso isso é problema da minha hospedagem? do servidor deles? ou algo errado no código abaixo:
$ch = curl_init();
$chamada = 'http://www.google.nl/'; // FUNCIONA
$chamada = 'https://sandbox.clicksign.com'; // NÃO FUNCIONA RETORNA VAZIO
// informar URL e outras funções ao CURL
curl_setopt($ch, CURLOPT_URL, $chamada);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Acessar a URL e retornar a saída
$output = curl_exec($ch);
// liberar
curl_close($ch);
// Imprimir a saída
echo $output;
>
Em 09/08/2021 at 22:57, Guilherme Luiz disse:
Depende de muitas coisas...
mas pra ter detalhado se o curl apresenta algum erro você pode usar curl_error($ch) condicionado ao funcionamento do exec, por exemplo:
$output = curl_exec($ch);
if(!$output) {
echo curl_error($ch);
}
Dessa forma você tem o retorno caso o o exec apresente algum problema.
Alem do mais, ,precisa ver se a url requisitada tem permissão de ser requisitada dessa forma.
Se você quer simplesmente fazer um get (pegar dados sem enviar body) você poderia simplificar com [file_get_contents()](https://www.php.net/manual/en/function.file-get-contents.php)
Obrigado pela dica, eu não vou testar o file_gets porque no futuro vou precisar enviar body sim, mas código de exibir erro mostrou o que acontece:
>
Citar
*Error: error setting certificate verify locations:
CAfile: C:\Program Files (x86)\Parallels\Plesk\Additional\PHPSettings\cacert.pem
CApath: none*
Só não entendi o que significa estou tentando em contato com o suporte do site, mas se alguém souber do que se tratar fico agradecido.
Galera eu vim aqui só pra dar a notícia de que consegui fazer a requisição e vou compartilhar caso alguém precise:
Era basicamente um option na curl, como abaixo:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$resultado = json_decode(curl_exec($ch));
Ainda não testei com o devido POST mas já é um avanço conseguir com o get.
Depende de muitas coisas...
mas pra ter detalhado se o curl apresenta algum erro você pode usar curl_error($ch) condicionado ao funcionamento do exec, por exemplo: