comment faire la demande https à l'aide de php Http_Request2()
je veux faire une requête https à l'aide de la poire http_request2($url) de la classe.
je suis en mesure de faire la requête http, mais pas en https. et le site web de faciliter à la fois les protocoles http et https. Pas de prob avec le serveur de répondre à https.
require 'HTTP/Request2.php';
$url = 'https://collegedb2.ferryfair.com';
$r = new Http_Request2($url);
$r->setMethod(HTTP_Request2::METHOD_POST);
try {
$response = $r->send();
} catch (Exception $exc) {
$es = $exc->getTraceAsString();
$ets=$exc->__toString();
$egc=$exc->getCode();
$egl=$exc->getLine();
$egm=$exc->getMessage();
$egt=$exc->getTrace();
$response = null;
}
$page = $response->getBody();
echo $page;
c'est le msg d'erreur:
$egm=(string) Unable to connect to ssl://collegedb2.ferryfair.com:443. Error: stream_socket_client(): unable to connect to ssl://collegedb2.ferryfair.com:443 (Unknown error)
aider à suivre, il est très important pour moi
Il semble que le certificat ssl n'est pas installé/configuré correctement, lors de la connexion j'obtiens l'erreur suivante: ssl_error_rx_malformed_certificate (SSL3_GET_SERVER_CERTIFICATE:impossible de trouver la clé publique de paramètres)
u essayé de connecter collegedb2.ferryfair.com ?? il est disponible seulement sur notre réseau local. certificat ssl sur le serveur s'est installé correctement. problème avec http_request2 classe, il est incapable de faire des requêtes https. openssl est activé dans php, vérifié dans le phpinfo()
Il semble que le certificat ssl n'est pas installé/configuré correctement, lors de la connexion j'obtiens l'erreur suivante: ssl_error_rx_malformed_certificate (SSL3_GET_SERVER_CERTIFICATE:impossible de trouver la clé publique de paramètres)
u essayé de connecter collegedb2.ferryfair.com ?? il est disponible seulement sur notre réseau local. certificat ssl sur le serveur s'est installé correctement. problème avec http_request2 classe, il est incapable de faire des requêtes https. openssl est activé dans php, vérifié dans le phpinfo()
OriginalL'auteur Necktwi | 2012-04-08
Vous devez vous connecter pour publier un commentaire.
Le commentaire de désactiver la vérification du certificat a été la clé pour moi.
Mais rappelez-vous que vous êtes tout simplement la suppression de la racine du mal
OriginalL'auteur Violaman
J'ai connu ce problème. Le correctif (pour moi) était d'utiliser le "curl" comme la carte, par exemple :
Voir aussi le protocole SSL "section" paramètres sur http://pear.php.net/manual/en/package.http.http-request2.config.php qui dit
Sans doute curl sait où trouver un local CA fichier à la confiance.
(PHP 5.4.38 avec curl).
OriginalL'auteur David Goodwin
HTTP_Request2 est absolument en mesure de faire des requêtes HTTPS. Il y a probablement une profonde erreur, par exemple un certificat SSL personnalisé qui entraîne des problèmes.
Installer Wireshark et vérifier l'erreur que vous obtenez en fait. Post de dos.
vous pouvez désactiver la vérification du certificat - voir les options dans pear.php.net/manual/en/package.http.http-request2.config.php - ou installer le certificat public de l'autorité de certification (CA) qui a signé le certificat auto-signé.
thanq. comment abt à l'aide de l'application web cible du certificat ssl avec ssl_local_cert ou ssl_capath paramètres. je n'ai pas complètement comprendre ssl_local_cert paramètre, doit-il être donné le nom de fichier cible de l'application web de certificat ssl?
Les docs disent que "le Nom d'un fichier contenant le certificat local"
require 'HTTP/Request2.php'; $url = 'https://collegedb2.ferryfair.com/lib/crap.html'; $r = new Http_Request2($url); $r-> setConfig(array("ssl_verify_peer"=>TRUE,"ssl_local_cert"=>"$root/ssl/collegedb2.ferryfair.com.cert"));
je vais faire une demande à partir du même serveur..OriginalL'auteur cweiske