3 votes

Comment puis-je ignorer les certificats ssl invalides pour obtenir une page web en tant qu'array en php?

J'ai une imprimante (plusieurs en fait) et je veux obtenir leurs pages de statut et utiliser un petit analyseur de dom pour me dire quand les fournitures sont basses. Ce n'est pas un gros problème, sauf que les imprimantes lancent un avertissement de certificat SSL invalide avant de charger. Je peux utiliser wget pour obtenir les pages de cette manière :

$wget -m --no-check-certificates 10.4.102.125

mais je préférerais juste utiliser php si ce n'est pas trop compliqué à faire.

voici un exemple de base de la façon dont je télécharge les pages en tant qu'arrays :

Comment puis-je ignorer les certificats SSL invalides pour obtenir une page web et simplement aller à la page que je veux obtenir, sous forme d'array en php ?

Je ne veux pas changer mes paramètres de serveur. De plus, je n'ai jamais réussi à mettre à niveau les certificats SSL sur l'une de ces imprimantes avec succès.

1voto

Arius2038 Points 2217

Vous pouvez utiliser curl

Et pour ignorer les avertissements SSL invalides, utilisez les options suivantes:

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

par exemple

1voto

Álvaro G. Vicario Points 57607

Étant donné que vous utilisez des wrappers pour récupérer les pages dont vous avez besoin, vous devez définir les options de contexte et les paramètres. Dans ce cas, les options que vous recherchez appartiennent à SSL (qui s'appliquent également à HTTPS) et je crois que vous voulez désactiver ceci :

verify_peer booléen

Exiger la vérification du certificat SSL utilisé.

Une fois que vous avez défini le contexte, vous devez le passer en tant que troisième argument à file:

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X