我想做一个有搜索功能的网站。在这我必须做搜索航班,酒店等..,有人建议我使用皮划艇api为此。我搜索了所有的东西。但我没有任何想法。任何人都可以建议我如何在我的网站上使用这个API。
感谢。
<? ob_start(); session_start();
$hostname="http://www.kayak.com";
$token="mCHpMz2L_a_OrEkz3FSiDg";//"mCHpMz2L_a_OrEkz3FSiDg";
$sessionid=""; $searchid="";
$searchtype=""; $lastcount="";
class ksearchphpExample {
public function ksearchJavaExample($args){
/*print_r($args); echo
count($args);exit;*/ if(count($args)
< 4 || count($args) > 5) {
echo("USAGE:\n".
"ksearchJavaExample f ORIGIN_AIPORT DESTINATION_AIRPORT
DEPART_DATE [RETURN_DATE]\n".
"ksearchjavaExample h \"city, RC, CC\" CHECKIN_DATE CHECKOUT_DATE\n" );
exit(); }
$searchtype='h'; //$args[0].charAt(0);
$sessionid= getsession(); echo("Session ID:\t".$sessionid );
if($searchtype == 'f' ){ $searchid= start_flight_search("n",
$args[1],$args[2],$args[3],$args[4] );
}
if( $searchtype == 'h'){ $searchid=
start_hotel_search($args[1],$args[2],$args[3]);
} echo("Search ID:\t".$searchid);
while (pollResults()) {
echo("waiting for more..."); } }
private function getsession(){
echo("Token:\t\t".$token ); $xml
= simplexml_load_file($hostname."/k/ident/apisession?token=".$token
);
echo $xml->getName() . "<br />";
foreach($xml->children() as $child)
{ echo $child->getName() . ": " .
$child . "<br />"; }
$response=get($hostname+"/k/ident/apisession?token=".$token
);
$root=xmlRoot($response); $sessionid=$root.getElementsByTagName("sid");
if( $sessionid.getLength() == 0){
echo("BAD TOKEN: ".$response);
exit(1); } return
$sessionid.item(0).getFirstChild().getNodeValue();
}
//private function fetch($urlstring){
// $content = ""; // // try {
// $url = new URL($urlstring);
// InputStream is =
url.openStream(); //
BufferedReader d = new
BufferedReader(new
InputStreamReader(is)); //
String s; // // while
(null != (s = d.readLine())) { //
content = content + s + "\n"; //
} // is.close(); //
// } catch ( Exception e ) {
System.out.println(e.getMessage() ); }
// return content; // } //
// public static void main(String[]
args) { // ksearchJavaExample ks =
new ksearchJavaExample(args); // }
} $kps=new ksearchphpExample();
$arg= array
('h','hyderabad,india','03/11/2010','05/11/2010');
echo $kps->ksearchJavaExample($arg);
?>
答案 0 :(得分:1)
我写了一个类来处理这个问题,可以在这里查看http://kidtwist.uphero.com
随意使用并修改它,我创建它用于简单的统计学研究,所以它非常基础。
答案 1 :(得分:0)
http://www.kayak.com/labs/api/search/
好像你需要获得开发人员密钥。一旦你有了它,你可以在他们的服务器上发布数据,并解析他们返回的XML(注意他们的搜索需要30-60秒才能完成,所以你必须请求搜索,捕获搜索ID,然后再回来看看使用搜索ID获得结果。查看API spec。