comme préciser dans le titre je souhaite me connecter en https avec mes certificats (.pfx ou .pem, seul moyen dont je dispose) afin de récupérer le contenu d'une page html.
pour se faire j'ai écris le code suivant:
j'effectue des test sous easyphp en local,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php // création d'un contexte pour passer les certifs a la connexion $context = stream_context_create(); $result = stream_context_set_option($context, 'ssl', 'local_cert', 'client.pem'); $result = stream_context_set_option($context, 'ssl', 'passphrase', 'mapassphrase'); $result = stream_context_set_option($context, 'ssl', 'allow_self_signed', 'TRUE'); //conexion $fp = stream_socket_client("ssl://www.monsite.fr/blog/achat:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context); // pour affichage du contenu de la page fputs($fp, "GET / HTTPS/1.0\r\nHost:www.netquattro.fr/blog/achat/index.php?feed/rss2\r\nAccept: */*\r\n\r\n"); while (!feof($fp)) { echo fgets ($fp,1024); } fclose($fp); ?>
le code ci-dessus me renvoie l'erreur suivante:
quelqu'un aurait-t-il une idée pour m'aider, car débutant en php je ne trouve pour le moment aucune solution à ce problème.Warning: stream_socket_client() [function.stream-socket-client]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in E:\Program Files\EasyPHP-5.3.4.0\www\test.php
je précise que l'adresse que je lui passe est bien valide.
je suis ouvert à toute autre proposition pour ce qui est de simplifier mon code, ou utilisé d'autres fonctions.
merci aux personnes qui prendront la peine de lire ce message![]()







Répondre avec citation
Partager