Problème SSL, connection au site Web

J'ai ce code pour me connecter à un server appelé Pinger TextFree pour un robot sur lequel je travaille:

<?php function sendRequest($url, $postorget, $fields = array(), $proxy) { $cookie_file = "cookies.txt"; //Initiate connection $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // set url curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_URL, $url); // set url curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the transfer curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // allow https curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)'); // random agent curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // automatically follow Location: headers (ie redirects) curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // auto set the referer in the event of a redirect curl_setopt($ch, CURLOPT_MAXREDIRS, 5); // ibm likes to redirect a lot, make sure we dont get stuck in a loop curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); // file to save cookies in curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); // file to read cookies from curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 40); //timeout time for curl curl_setopt($ch, CURLOPT_PORT, 80); //port to connect to (default 80 obviously) //Check to see if a proxy is being used if(isset($proxy)){ //Tell cURL you're using a proxy curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); //Set the proxy curl_setopt($ch, CURLOPT_PROXY, $proxy); } //Check if request is POST or GET if ($postorget == "post" OR $postorget == "POST") { curl_setopt($ch, CURLOPT_POST, true); // use POST if (is_array($fields)){ curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields)); // key => name gets turned into &key=name } else { curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); // &key=name passed in } } else { curl_setopt($ch, CURLOPT_POST, false); // use GET } $content = curl_exec($ch); // return html content $info = curl_getinfo($ch); // return transfer info $error = curl_error($ch); // return any errors curl_close($ch); $request = array('content' => $content, 'error' => $error, 'info' => $info); return $request; } //Login details $username = "usernamehere"; $password = "passwordhere"; //GET the initial login page $initFields = ""; $initOutput = sendRequest("http://www.pinger.com/tfw/?t=1360619019053", "GET", $initFields); echo "<textarea cols='100' rows='400'>"; print_r($initOutput); echo "</textarea>"; //Login to pinger $loginFields = "{\"username\":\"".$username."\",\"password\":\"".$password."\",\"clientId\":\"textfree-in-flash-web-free-1360619009-8CA1C5C1-38ED-2E31-3248-CB367450A20F\"}"; $loginOutput = sendRequest("https://api.pinger.com/1.0/web/login", "POST", $loginFields); echo "<textarea cols='100' rows='400'>"; print_r($loginOutput); echo "</textarea>"; ?> 

Pour une raison quelconque, chaque fois que j'essaie d'exécuter ce script, tout ce que je reçois est "Erreur de protocole SSL inconnue en relation avec api.pinger.com:80"

Qu'est-ce que je fais mal ici? Je vais même spécifier SSL2 dans le setop, mais il se raccroche pour toujours – je ne peux pas faire fonctionner ça!

Voici l'application que j'essaie d'automatiser: http://www.pinger.com/tfw/

C'est en flash mais j'utilise Fiddler pour renifler les requêtes HTTP / HTTPS pour les automatiser avec cURL.

Des idées de vous?

L'erreur est évidemment dans la ligne

 curl_setopt($ch, CURLOPT_PORT, 80); //port to connect to (default 80 obviously) 

Les servers HTTPS écoutent par défaut le port 443. Il suffit simplement de supprimer cette ligne; Curl va ensuite find le port à partir du protocole dans l'URL.