Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php cURL-浏览多个表单,但可以';一页也过不去_Php_Forms_Curl - Fatal编程技术网

Php cURL-浏览多个表单,但可以';一页也过不去

Php cURL-浏览多个表单,但可以';一页也过不去,php,forms,curl,Php,Forms,Curl,对于个人项目,我正在尝试从我无法控制/访问的网站自动下载文件。要下载该文件,总共需要6页的用户输入,每一页都有一个表单提交,下载在最后一页 网址: 我已经设法使用cURL浏览了前3页。当我的cURL代码到达第4页时,它给出了以下错误: 无法从多个浏览器窗口下订单,请重试 这个错误是由服务器(不是cURL)生成的,所以我不知道这意味着什么,也不知道如何解决这个问题。但是,如果您在每一页上手动提交表单,则可以毫无错误地进入第四页 这是工作代码。您会注意到前3页的工作与预期一样。但是,如果您取消注释第

对于个人项目,我正在尝试从我无法控制/访问的网站自动下载文件。要下载该文件,总共需要6页的用户输入,每一页都有一个表单提交,下载在最后一页

网址:

我已经设法使用cURL浏览了前3页。当我的cURL代码到达第4页时,它给出了以下错误:

无法从多个浏览器窗口下订单,请重试

这个错误是由服务器(不是cURL)生成的,所以我不知道这意味着什么,也不知道如何解决这个问题。但是,如果您在每一页上手动提交表单,则可以毫无错误地进入第四页

这是工作代码。您会注意到前3页的工作与预期一样。但是,如果您取消注释第四页的代码,您将看到它生成了错误消息

我被难住了!如有任何帮助或建议,将不胜感激

谢谢

/**
* Page 1
*
* Sample input data:
*
* Floor: 62
* Flat No: D
* House No: 1
* Street Name: Austin Road West
* Area Code: Kowloon
*
*
*/


   $cookie="cookie.txt";

   $url = "https://www1.iris.gov.hk/eservices/searchlandregister/search.jsp";
   $url2    = "https://www2.iris.gov.hk/eservices/searchLandRegister.do";
   $url3    = "https://www2.iris.gov.hk/eservices/searchLandRegister.do";
   $url4    = "https://www2.iris.gov.hk/eservices/searchByAddressResult2.do";


   $params = array(
    'previousOp'                => urlencode(''),
    'functionId'                => urlencode('continue'),
    'forward2Caller'            => urlencode('searchlandregister'),
    'SStreetName'               => urlencode('eng'),
    'SDevelopmentName'          => urlencode('eng'),
    'SBlock'                    => urlencode('*'),
    'SFloor'                    => urlencode('62'),
    'SFlat'                     => urlencode('D'),
    'searchBySection'           => urlencode('StreetName'),
    'SSelectedArea'             => urlencode('20'),
    'SDevelopmentNameEng'       => urlencode(''),
    'SDevelopmentNameChn'       => urlencode(''),
    'SStreetNameEng'            => urlencode('AUSTIN ROAD WEST'),
    'SStreetNameChn'            => urlencode(''),
    'hasSpec'                   => urlencode('0'),
    'hasLotSpec'                => urlencode('0'),
    'specPrn'                   => urlencode(''),
    'haveSDR'                   => urlencode('Y'),
    'initFromRVD'               => urlencode('N'),
    'SHouseNo1'                 => urlencode('1'),
    'SHouseNo2'                 => urlencode(''),
    'SPrn'                      => urlencode(''),
    'SExtension'                => urlencode('false'),
    'SLotType'                  => urlencode(''),
    'SLotNo'                    => urlencode(''),
    'SSection1'                 => urlencode(''),
    'SSub1'                     => urlencode(''),
    'SSection2'                 => urlencode(''),
    'SSub2'                     => urlencode(''),
    'SSection3'                 => urlencode(''),
    'SSub3'                     => urlencode(''),
    'SSection4'                 => urlencode(''),
    'SMisc'                     => urlencode(''),
    'recordIndex'               => urlencode(''),
    'SSBlock'                   => urlencode('*'),
    'SSFloor'                   => urlencode('62'),
    'SSFlat'                    => urlencode('D'),
    'SDBlock'                   => urlencode('*'),
    'SDFloor'                   => urlencode('*'),
    'SDFlat'                    => urlencode('*'),
    'SLBlock'                   => urlencode('*'),
    'SLFloor'                   => urlencode('*'),
    'SLFlat'                    => urlencode('*'),
    'SRegisterName'             => urlencode('SDR'),
    'SSRegisterName'            => urlencode('SDR'),
    'SLRegisterName'            => urlencode('SDR'),
    'SDRegisterName'            => urlencode('SDR'),
    'xSSBlock'                  => urlencode('*'),
    'xSSFloor'                  => urlencode('62'),
    'xSSFlat'                   => urlencode('D'),
    'xHouseNo1'                 => urlencode('1'),
    'xHouseNo2'                 => urlencode(''),
    'SStreetNameInput'          => urlencode('AUSTIN ROAD WEST'),
    'xSelectedArea'             => urlencode('20'),
    'xSSRegisterName'           => urlencode('SDR'),
    'xSDBlock'                  => urlencode('*'),
    'xSDFloor'                  => urlencode('*'),
    'xSDFlat'                   => urlencode('*'),
    'SDevelopmentNameInput'     => urlencode(''),
    'xSDRegisterName'           => urlencode('SDR'),
    'xSLBlock'                  => urlencode('*'),
    'xSLFloor'                  => urlencode('*'),
    'xSLFlat'                   => urlencode('*'),
    'SLotTypeInput'             => urlencode(''),
    'xLotNo'                    => urlencode(''),
    'xSection1'                 => urlencode(''),
    'xSub1'                     => urlencode(''),
    'xSection2'                 => urlencode(''),
    'xSub2'                     => urlencode(''),
    'xSection3'                 => urlencode(''),
    'xSub3'                     => urlencode(''),
    'xSection4'                 => urlencode(''),
    'xMisc'                     => urlencode(''),
    'xSLRegisterName'           => urlencode('SDR'),
    'xPrn'                      => urlencode(''),

    // Page 2
    'dispLotPRN'                => urlencode('C5458863'),
    'dispBlock'                 => urlencode('SO1'),
    'BBlock'                    => urlencode('SO1'),
    'hasBlock'                  => urlencode('1'),

    // Page 3
    'somePrn[0]'                => urlencode('B6479113'),
    'someSelected[0]'           => urlencode('on'),
    'someEnquiry[0]'            => urlencode('C'),
    'someNature[0]'             => urlencode('P'),
    'someCopies[0]'             => urlencode('1'),

    // Page 4
    'dispHouseNo'               => urlencode('1'),
    'dispStreetName'            => urlencode('AUSTIN ROAD WEST'),
    'hasLot'                    => urlencode('0'),
    'hasFloor'                  => urlencode('0'),
    'street'                    => urlencode('true'),
    'dev'                       => urlencode('false'),
    'lot'                       => urlencode('false')

   );


   //url-ify the data for the POST
   foreach($params as $key=>$value) { 
    $string .= $key.'='.$value.'&';
   } // end foreach
   rtrim($string, '&');

$ch = curl_init(); 

curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_POST, false); 
$result = curl_exec ($ch);

//echo $result;  


// Submit to Page 2

curl_setopt ($ch, CURLOPT_URL, $url2 . '?' . $string); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_POST, false); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $params); 
$result = curl_exec ($ch); 

//echo $result;  


// Submit to Page 3
$params['previousOp'] = 'BLOCK LIST';

curl_setopt ($ch, CURLOPT_URL, $url3 . '?' . $string); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
//curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_POST, false); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $params); 
$result = curl_exec ($ch); 

//echo $result;  



// Submit to Page 4
/*
$params['previousOp'] = 'EXACT MATCH';
$params['functionId'] = 'doAddAndGoToOrder';
$params['queryResultHash'] = '978962765';

curl_setopt ($ch, CURLOPT_URL, $url4 . '?' . $string); 

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
//curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $params); 
$result = curl_exec ($ch); 
*/

curl_close($ch);


echo $result;