通过POST将表单数据发送到外部网站并在PHP中获取响应数据

时间:2014-08-05 10:31:27

标签: php curl

我有一份客户车数据列表,我希望通过填写此处提供的表格,从this website获取更多数据。

我正在使用PHP并尝试使用cURL但响应始终为空。我已经完成了所有研究,但仍然无法得到它。我做错了吗?

我使用的代码是:          

<?php
$vehicleNo='GG8394R';//values from your form
$ownerIdType='1';
$ownerId='S1386629E';
$intendedDeRegDate='29112015';
$exportStatus='Yes';
$yourformfields="vehicleNo=$vehicleNo&ownerIdType=$ownerIdType&ownerId=$ownerId&intendedDeRegDate=$intendedDeRegDate&exportStatus=$exportStatus";
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'https://vrl.lta.gov.sg/lta/vrl/action/enquireRebateByPublicBeforeDeregInput');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST,1);
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,$yourformfields);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

if (empty($buffer))
{
    print "Yeah.<p>";
}
else
{
    print $buffer;
}
?>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

您正尝试使用HTTPS连接到网站。默认情况下,curl不信任任何服务器进行HTTPS连接。对此的快速解决方法是:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

您可以详细了解here

答案 1 :(得分:0)

您应该在代码中添加这两行:

    curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, 0);