使用 curl 和 PHP 从 mca.gov.in 获取数据



我正在尝试从 http://mca.gov.in 获取数据。我正在使用 CURL 和 PHP 来提取数据。

这是表格: http://www.mca.gov.in/mcafoportal/viewSignatoryDetails.do

当我将 HTML 表单直接通过此 HTML 表单提交到 ("http://www.mca.gov.in/mcafoportal/viewSignatoryDetails.do"( 时,它可以工作。

我开发了自己的表格并直接提交到上面的链接,它也可以工作。

但是,当我传递相同的参数以使用curl检索数据时,它不会提供任何数据。

这是我用来从 http://mca.gov.in 获取数据的代码。

$data = http_build_query($post_data);
curl_setopt($ch, CURLOPT_URL, "http://www.mca.gov.in/mcafoportal/viewSignatoryDetailsAction.do"); 
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo $result;

任何想法,可能有什么问题或如果我错过了什么?

您的问题是您尝试获取的网址使用验证码,您无法通过代码绕过它。

您需要使用不需要验证码的此网址">http://www.mca.gov.in/mcafoportal/popupSignatories.do"。

因此,请将您的代码更改为:

curl_setopt($ch, CURLOPT_URL, "http://www.mca.gov.in/mcafoportal/popupSignatories.do");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
"companyid" => "AAA-4416"
));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo $result;

此外,如果您需要公司详细信息,请使用"http://www.mca.gov.in/mcafoportal/companyMasterDataPopup.do">

curl_setopt($ch, CURLOPT_URL, "http://www.mca.gov.in/mcafoportal/companyMasterDataPopup.do"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
"method" => "ajaxGetCompanyMasterData",
"companyid" => 'AAA-4416'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo $result;

更新

可以在公司主数据 API 中找到一些新的 API https://data.gov.in

最新更新