Нужна помощь в добавлении закладки в Delicious с помощью cURL
-
12-09-2019 - |
Вопрос
Я пытаюсь написать класс, который может добавлять закладки в мой аккаунт 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
, но это тоже не сработало.
Это сводит меня с ума, потому что сначала я внедрил свой собственный код, который не сработал.Теперь я использую код, который кто-то (предположительно) заставил работать на себя, и по-прежнему безуспешно.
Любая помощь очень ценится, спасибо!
Решение
Похоже, у вас возникла проблема с проверкой сертификата Центра сертификации.Не уверен, как вы это исправите, но, возможно, вы сможете обойти это следующим образом:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);