【发布时间】:2016-04-12 22:18:07
【问题描述】:
我们被要求为当地的 Eastate 代理网站提供 rightmove 实时数据馈送
我们有来自 Rightmove 的规格和示例,在查看了这些之后,我们有几个问题
1) Rightmoves 需要相互 SSL 身份验证 - 这可以通过 php/javascript 实现吗?如果是这样,任何指针将不胜感激
2) 有没有人知道一些示例 php 脚本可以帮助我们入门?
感谢
【问题讨论】:
我们被要求为当地的 Eastate 代理网站提供 rightmove 实时数据馈送
我们有来自 Rightmove 的规格和示例,在查看了这些之后,我们有几个问题
1) Rightmoves 需要相互 SSL 身份验证 - 这可以通过 php/javascript 实现吗?如果是这样,任何指针将不胜感激
2) 有没有人知道一些示例 php 脚本可以帮助我们入门?
感谢
【问题讨论】:
大多数房地产经纪人使用像 dezrez / 专家代理等 crm。他们都准备好在自动驾驶仪上为 rightmove 、 zoopla 提供数据。您的代理应考虑仅将其用于数据存储功能和轻松访问他们将来可能需要的财产数据。
Crm 还将向您发送一个 xml 提要,然后您可以使用 php、jquery 或 Xquery 中的 filter() 函数对其进行解析并显示在您的网站上。
您后来决定解决方案了吗?
【讨论】:
1) 是的,可以使用PHP cURL 库实现与 Rightmove 服务的 SSL 通信。联系Rightmove ADFT Team 并请求客户端身份验证所需的凭据。从 .p12 文件中提取 .pem 密钥和证书。 在 Linux 上:
openssl pkcs12 -in file.p12 -out file.key.pem -nocerts -nodes
openssl pkcs12 -in file.p12 -out file.crt.pem -clcerts -nokeys
向 Rightmove 服务发出以下请求以及您的数据,有关详细信息,请参阅Rightmove Real Time Datafeed Specifications。
$url = 'https://adfapi.adftest.rightmove.com/v1/YOUR METHOD';
$curl = curl_init();
$headers = ["Content-type: application/json;charset=\"utf-8\""];
curl_setopt_array($curl,
[
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data, JSON_UNESCAPED_SLASHES),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_VERBOSE => true,
CURLOPT_SSLVERSION => 6,
CURLOPT_SSLCERT => 'RIGHTMOVE SECRETE',
CURLOPT_SSLKEY => 'RIGHTMOVE SSL KEY',
CURLOPT_SSLCERTPASSWD => 'RIGHTMOVE PASS',
CURLOPT_SSLKEYPASSWD => 'RIGHTMOVE SSL PASS',
);
$request = curl_exec($curl);
if (empty($request)) {
throw new \RuntimeException('cURL request returned following error: '.curl_error($curl) );
}
curl_close($curl);
return $request;
2) 这是示例 PHP 脚本 RightmoveADF on GitHub。 或者使用提供与 Rightmove 的实时数据馈送集成的其他服务,还有许多其他可用的服务,这里有一些来自 Google 搜索的结果:
【讨论】: