我正在尝试编写一个可以为我的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
的行,但这也不起作用。
这让我抓狂,因为起初我推出了自己的代码,但是没有用。现在我正在使用某人(据称)为自己工作的代码,但仍然没有运气。
非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
您似乎在验证证书颁发机构的证书时遇到问题。不知道你是如何解决这个问题的,但你可能会像这样回避它:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);