Pergunta

Eu estou tentando escrever uma classe que pode adicionar um marcador para a minha conta deliciosa.
Aqui é o meu método:

public function addBookmark($url, $description) {   
    $dusername = 'myUsername';  
    $dpassword = 'myPassword';  
    $api = 'api.del.icio.us/v1';  
    $link = urlencode($url);  
    $desc = urlencode($description);  
    $apicall = "https://$dusername:$dpassword@$api/posts/add?&url=$link&description=$desc";  
    $ch = curl_init($apicall);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);  
    curl_setopt($ch, CURLOPT_USERAGENT, 'php - curl');  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    $xml = curl_exec($ch);   
} 

No código real, $ dusername e US $ dpassword são minhas credenciais reais.

Quando chamado de PHP, ele não consegue adicionar um marcador. No entanto, se eu echo $ apicall, e ir para-lo diretamente com o Firefox, é adicionado o marcador. Então, isso me faz supor que há um erro na minha implementação cURL. Eu tentei comentar as linhas onde se define CURLOPT_SSL_VERIFYHOST e CURLOPT_USERAGENT, mas isso não quer trabalhar.

Este está me deixando louco, porque no começo eu rolou meu próprio código, que não funcionou. Agora estou usando o código de alguém (supostamente) tem a trabalhar para si mesmos, e ainda não sorte.

Qualquer ajuda é muito apreciada, obrigado!

Foi útil?

Solução

Parece que você tem um problema verificar o certificado da Autoridade de Certificação. Não tenho certeza como você corrigir isso, mas você pode ser capaz de contornar isto assim:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top