0

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が、それもうまくいきませんでした。

最初は自分のコードをロールしたのですが、うまくいかなかったので、これは私を夢中にさせています。今、私は誰かが(伝えられるところでは)自分たちのために働いているコードを使用していますが、それでも運がありません。

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

2

認証局の証明書の検証に問題があるようです。これをどのように修正するかはわかりませんが、次のように回避できる可能性があります。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
于 2009-09-21T20:50:15.783 に答える