Php Curl σε Javascript forms
Posted: Tue Feb 21, 2012 11:56 pm
Καλησπέρα,
αντιμερωπίζω ένα πρόβλημα καθώς προσπαθώ να στείλω με curl (σε php) τα post data που όμως αντι για submit κάνει κλήση σε μία συνάρτηση javascript...
το site ειναι το
http://www.sj.se/travel/booksearchlocation.form
Ο παραπανω κώδικας προφανως δεν δουλευει...
και με inspect element πανω στο continue βλεπουμε πως καλει την submitTravelQueryForm, την οποια ολως περιεργως δεν μπορω να καλεσω εγω αλλά ουτε καν να βρω!
<button id="submitButton" class="to_right" type="button" onclick="return submitTravelQueryForm('next', true)">CONTINUE >></button>
Καμία ιδέα για το πως μπορώ να στείλω τα post data αυτα μέσω php?
αντιμερωπίζω ένα πρόβλημα καθώς προσπαθώ να στείλω με curl (σε php) τα post data που όμως αντι για submit κάνει κλήση σε μία συνάρτηση javascript...
το site ειναι το
http://www.sj.se/travel/booksearchlocation.form
Code: Select all
<?php
$curl_connection =
curl_init('http://www.sj.se/travel/booksearchlocation.form');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLINFO_HEADER_OUT, true);
//$post_data['firstName'] = 'Name';
//$post_data['action'] = 'Register';
curl_setopt ($curl_connection, CURLOPT_POST, 1);
//taken from captured actual POST
// method:next
// startPage:true
// mode:teaser
// travelQuery.departureLocationName:Reftele
// travelQuery.arrivalLocationName:Reimersholme
// travelQuery.outDateTime:2012-02-20+22%3A31%3A00
// travelQuery.outTimeDeparture:true
// travelQuery.returnDateTime:
// travelQuery.returnTimeDeparture:false
// travelQuery.includeX2000:on
// travelQuery.includeBuses:on
// travelQuery.viaLocationName:
// travelQuery.minimumChangeTime:0
$post_data['travelQuery.departureLocationName'] = 'Reftele';
$post_data['travelQuery.arrivalLocationName'] = 'Reimersholme';
$post_data['travelQuery.outDateTime'] = '2012-02-20+22%3A31%3A00';
$post_data['method'] = 'next';
$post_data['startPage'] = 'true';
$post_data['mode'] = 'teaser';
$post_data['travelQuery.outTimeDeparture'] = 'true';
$post_data['travelQuery.returnTimeDeparture'] = 'false';
$post_data['travelQuery.includeX2000'] = 'on';
$post_data['travelQuery.includeBuses'] = 'on';
$post_data['travelQuery.minimumChangeTime'] = '0';
$post_data['travelQuery.returnDateTime'] = '';
$post_data['travelQuery.viaLocationName'] = '';
foreach ( $post_data as $key => $value)
{
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$result = curl_exec($curl_connection);
curl_close($curl_connection);
//echo $result;
print_r(curl_getinfo($curl_connection));
echo curl_error($curl_connection);
?>
και με inspect element πανω στο continue βλεπουμε πως καλει την submitTravelQueryForm, την οποια ολως περιεργως δεν μπορω να καλεσω εγω αλλά ουτε καν να βρω!
<button id="submitButton" class="to_right" type="button" onclick="return submitTravelQueryForm('next', true)">CONTINUE >></button>
Καμία ιδέα για το πως μπορώ να στείλω τα post data αυτα μέσω php?