Maison >développement back-end >tutoriel php >Comment appeler un service Web avec un certificat auto-créé en php

Comment appeler un service Web avec un certificat auto-créé en php

angryTom
angryTomavant
2019-10-15 10:02:312854parcourir

Quelqu'un a posé cette question. Il existe peu d’informations sur cet aspect sur les sites Internet nationaux. Permettez-moi d'en parler brièvement ici

1 Tout d'abord, utilisez divers moyens pour faire en sorte qu'Apache prenne en charge https.

2. Utilisez ensuite SoapDiscovery.class.php (Baidu, c'est partout) pour créer un webservice

3 Pour qu'on puisse accéder à https://xxx/abc.php?wsdl . Notez qu'il s'agit d'une authentification unidirectionnelle et n'authentifie pas le client.

Si le client soap de PHP accède à un webservice sans cryptage SSL, c'est trop simple. Rien à dire.

Et si c'était après SSL ?

Comment écrire du code

$context = stream_context_create(array(
    ‘ssl’ => array(
        ‘verify_peer’ => false,
        ‘allow_self_signed’ => true     //这一步很重要,代表是否允许自建证书。因为到权威机构申请证书是要钱的
    )
));
$client  = new SoapClient(null, array( 
    ‘location’ => ‘https://xxxx/abc.php?wsdl’,    //这里写你的webservice地址 
    ‘uri’ => ‘urn:czService’,   //你的wsdl文件中会有 targetNamespace 自己找找
    ‘stream_context’ => $context
));
$client->XXX    // 这里尽情的执行你的方法吧

Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer