Нужна помощь в добавлении закладки в Delicious с помощью cURL - PullRequest
0 голосов
/ 22 сентября 2009

Я пытаюсь написать класс, который может добавить закладку в мой аккаунт Delicious.
Вот мой метод:

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);   
} 

В реальном коде $ dusername и $ dpassword - мои действительные учетные данные.

При вызове из PHP не удается добавить закладку. Однако, если я перехожу на $ apicall и перехожу к нему напрямую с FireFox, закладка добавляется. Итак, это заставляет меня предположить, что в моей реализации cURL есть ошибка. Я попытался закомментировать строки, где он устанавливает CURLOPT_SSL_VERIFYHOST и CURLOPT_USERAGENT, но это тоже не сработало.

Это сводит меня с ума, потому что сначала я свернул свой собственный код, который не работал. Сейчас я использую код, который кто-то (якобы) заработал для себя, но до сих пор не повезло.

Любая помощь очень ценится, спасибо!

1 Ответ

2 голосов
/ 22 сентября 2009

Кажется, у вас возникла проблема при проверке сертификата центра сертификации. Не уверен, как это исправить, но вы можете обойти это так:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
...