PHP cURL提交JSP网站表单

时间:2014-01-07 18:02:03

标签: php forms jsp curl

好吧,我知道这已被问过很多次,但是我对cURL的体验非常接触,而且我还没有找到问题的答案,并且能够让它发挥作用。

基本场景:我试图通过我将通过cron运行的PHP脚本检查来自Hyatt.com的预订可用性,因此我将收到有关x变量的警报,我将在稍后设置。第一步是能够在输入酒店,登记入住和退房日期后生成响应以查看可用的房间类型。这是我在努力的地方:

<?php

$url='http://www.hyatt.com/hyatt/index.jsp';
$hotel='Park Hyatt Paris-Vendome';
$checkin='Oct / 29 / 2014';
$checkout='Oct / 30 / 2014';

$ch = curl_init() ;
curl_setopt( $ch, CURLOPT_URL, "$url" );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );

$data = array(
    'searchTerms' => "$hotel",
    'check-in-date' => "$checkin",
    'check-out-date' => "$checkout",
    'find_hotel' => 'submit'
);

curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
$output = curl_exec( $ch );
curl_close( $ch );

echo "$output\n";

?>

现在表单如下所示:

<form method="POST" action="/hyatt/index.jsp?_DARGS=/hyatt/GlobalQuickbook.jsp.quickbookForm" name="quickbookForm" id="quickbookForm">    <input type="hidden" value="UTF-8" name="_dyncharset"></input><input type="hidden" value="-4660292374176517060" name="_dynSessConf"></input>
<div class='destinationField'><div id='destinationDefaultPlaceHolder' class='hide'>
City, attraction, address, or airport
</div>
<label for="searchTerms" class='heading'>Destination</label>
<input size="25" type="text" autocomplete="off" onclick="clearDefaultSearch(this);" value="City, attraction, address, or airport" tabindex="1" name="/booking/QuickbookHolder.location" maxlength="100" id="searchTerms"><input type="hidden" value=" " name="_D:/booking/QuickbookHolder.location">
</div>
<script type='text/javascript'>var arrivalDateSelected=dateFormatStyle;</script>
<div id='dateSelector' class='dateSelector'>
<ul class='date_selector_ul'>
<li class='label_container'>
<label for="check-in-date">Arrive</label>
</li>
<li class='input_container'>
<input type="hidden" id="check-in-date_hidden" value='MMM / DD / YYYY'/>
<input size="14" type="text" class="date-pick dp-applied" value="MMM / DD / YYYY" tabindex="2" name="/booking/QuickbookHolder.arrivalDate" id="check-in-date"><input type="hidden" value=" " name="_D:/booking/QuickbookHolder.arrivalDate">
</li>
<li class='label_container'>
<label for="check-out-date">Depart</label>
</li>
<li class='input_container'>
<input type="hidden" id="check-out-date_hidden" value='MMM / DD / YYYY'/>
<input size="14" type="text" class="date-pick dp-applied" value="MMM / DD / YYYY" tabindex="3" name="/booking/QuickbookHolder.departureDate" id="check-out-date"><input type="hidden" value=" " name="_D:/booking/QuickbookHolder.departureDate">
</li>
</ul>
</div>
<button type="submit" tabindex='4' onclick="sendAjaxCall('quickbookForm','en'); mboxTrack('FindHotels_Button_Track'); return false;">Find Hotels</button>
<input type="hidden" value="submit" name="/atg/userprofiling/ReservationFormHandler.findHotels" id="find_hotel"><input type="hidden" value=" " name="_D:/atg/userprofiling/ReservationFormHandler.findHotels">
</div>

然而,尽管有多次尝试和更改才能正确地解决操作而不是去index.jsp我不能为我的生活让它正常运行。我已经给了它好几天了,坐在上面看看是否有任何东西来找我,但由于我没有运气,我想我会要求一些支持。是的,我已经研究了这个,是的,我已经看到类似的问题,如this,但我似乎无法让它正常运行并正确遵循。

感谢您的帮助。

0 个答案:

没有答案