Algo que se puede hacer es como indica andres, colocar un tiempo, pero añadiría que haga al menos tres veces la petición, con algo así
Código PHP:
Ver original<?php
//ini_set('default_socket_timeout', 10);
$xml_get = @file_get_contents("http://xml.e-travelsolution.com/xml/enginexml-agencies.asmx/getQuoteHotels?a=k4r3n-4n3l&pwd=5ecr370&c=PE&sd=20111111&ed=20111116&h=&rt=&mp=&r=1&r1a=2&r1k=0&r1k1a=-1&r1k2a=-1&r1k3a=-1&r2a=-1&r2k=-1&r2k1a=-1&r2k2a=-1&r2k3a=-1&r3a=-1&r3k=-1&r3k1a=-1&r3k2a=-1&r3k3a=-1&r4a=-1&r4k=-1&r4k1a=-1&r4k2a=-1&r4k3a=-1&r5a=-1&r5k=-1&r5k1a=-1&r5k2a=-1&r5k3a=-1&d=2&l=ESP&categoryid=&locationid=&chainid=&cityid=&fq=&co=MX", 0, $context);
$xml = new SimpleXMLElement($xml_get);
foreach ($xml->hotels->hotel as $item) {
$hoteles[] = array("idhotel" => (int
) $item->hotelid, "hotelname" => (string) ($item->hotelname), "ciudad" => (string) $item->cityname,
"ubicacionid" => (string) $item->ubicationid, "categoria" => (string) $item->categoryid,
"tarifaneta" => (int) $item->rooms->Roomrates->rate);
}
echo '<pre>';
echo '</pre>';
}else{
$_SESSION['counter'] = !empty($_SESSION['counter']) ?
($_SESSION['counter'] + 1) : 1; if($_SESSION['counter'] >= 3){
if (ini_get("session.use_cookies")) { $params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
echo "Lo sentimos el servidor esta ocupado en este momento";
}else{
}
}