Eléphant du PHP |
245 Messages
28 févr. 2013, 15:47
Tu ouvre comment la connexion : avec fopen() , fsocketopen() ?
Avec fsocketopen(), tu peux tester plusieurs ports 443, 80 notamment.
Sinon tu peux utiliser cURL comme bibliotèque réseau, c'est vachement plus pratique que les sockets, avec un code ressemblant à ça :
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt( $ch, CURLOPT_HEADER, FALSE );//si on e veut pas récupétrer les entêtes http de la réponse
curl_setopt( $ch, CURLOPT_POST, TRUE );// si la requête http demandée est du POST
curl_setopt( $ch, CURLOPT_POSTFIELDS, $message);//le message de la forme "param1=val1¶m2=val2" ...
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);//à mettre absolument sinon, la liste de certificats existants ne sera pas prise en compte
//curl_setopt($ch, CURLOPT_SSLVERSION, 3);
//curl_setopt($ch, CURLOPT_CAINFO, "[...]/Apache2/conf/ssl/mysite.com.cert" );
$returned = curl_exec($ch);