Domanda

Sto cercando di scrivere una classe che può aggiungere un segnalibro al mio account Delicious.
Ecco il mio metodo:

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

Nel codice vero e proprio, $ dusername e $ dpassword sono le mie credenziali attuali.

Quando viene chiamato da PHP, non riesce a aggiungere un segnalibro. Tuttavia, se mi echo $ apicall, e andare ad esso direttamente con FireFox, viene aggiunto il segnalibro. Quindi, questo mi fa presumo ci sia un errore nella mia implementazione cURL. Ho provato a commentare le linee in cui si imposta CURLOPT_SSL_VERIFYHOST e CURLOPT_USERAGENT, ma che non ha funzionato neanche.

Questo mi sta facendo impazzire, perché in un primo momento ho arrotolato il mio codice, che non ha funzionato. Ora sto utilizzando il codice qualcuno ha (presumibilmente) ottenuto a lavorare per se stessi, e ancora senza fortuna.

Ogni aiuto è molto apprezzato, grazie!

È stato utile?

Soluzione

Sembra di avere un problema di verificare il certificato dell'autorità di certificazione. Non so come si risolvere questo ma si potrebbe essere in grado di eludere in questo modo:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top