2016-03-22 335 views
0

希望有人能帮助我。我正在英国开发一个网站,该网站需要将物业发布到Zoopla和Prime Location。我正在使用这个工具(#显示需要的安全性)https://realtime-listings.webservices.zpg.co.uk/docs/latest/documentation.html#security使用Guzzle进行OpenSSL身份验证

HTTP /身份验证这类东西我很苦恼,所以我会喜欢它,如果有人能够让我启动和运行。

基本上我已经按照上面提到的所有步骤操作,现在我拥有从他们返回并签名的证书。我正在努力配置Guzzle来验证和使用这个API。我有一个private.pem文件和signed.crt文件(他们已经给出)。

我最好的尝试,到目前为止是:

$client = new \GuzzleHttp\Client([ 'exceptions' => false ]); 
$request = $client->get('https://realtime-listings-api.webservices.zpg.co.uk/sandbox/v1/listing/list', array(), array(
    'cert'  => '/Applications/MAMP/htdocs/mywebsite/signed.crt', 
    //'ssl_key' => '/Applications/MAMP/htdocs/mywebsite/private.pem' 
)); 
var_dump($request->getBody()); 

但是,这只是给我的错误:

卷曲错误35:未知的SSL协议错误的连接实时-上市的API。 webservices.zpg.co.uk:443(见http://curl.haxx.se/libcurl/c/libcurl-errors.html

这整个概念是新的给我,所以如果有人能够提供一些援助,来换取我连我b非常感谢。

回答

0

即上市仅支持TLS v1.2所以你需要告诉你的狂饮客户端看:

$request = $client->get('https://realtime-listings-api.webservices.zpg.co.uk/sandbox/v1/listing/list', array(), array(
    'cert'  => '/Applications/MAMP/htdocs/mywebsite/signed.crt', 
    'ssl_key' => '/Applications/MAMP/htdocs/mywebsite/private.pem', 
    'curl.options' => array(
     'CURLOPT_SSLVERSION' => 'CURL_SSLVERSION_TLSv1_2', 
    ) 
)); 

您还需要包括你的证书和SSL密钥使他们的请求时。

最后,他们需要你,为了你提供生成他们public.csr文件的副本,以验证您的要求:This is the link they provided to upload your csr

+0

你好,非常感谢。你真的很棒。我在Mac上使用Laravel和MAMP,所以有两件事情已经曝光。我将需要使用Homestead,以便cUrl能够工作,并且我还需要将我的服务器更新到CentOS 7.这两个应该使我处于正确的轨道,所以非常感谢 –