希望有人可以帮助我。我正在英国开发一个网站,需要将房产发布到Zoopla和Prime Location。我正在使用此工具(#显示所需的安全性)https://realtime-listings.webservices.zpg.co.uk/docs/latest/documentation.html#security
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());
但这只是给我一个错误:
cURL错误35:与realtime-listings-api.webservices.zpg.co.uk:443相关的未知SSL协议错误(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)
这整个概念对我来说都是新的,所以如果有人能够提供一些帮助让我联系我会非常感激。
答案 0 :(得分:0)
该列表仅支持TLS v1.2
,因此您需要告知Guzzle客户端:
$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