繁体   English   中英

php xml http请求返回错误(403)

[英]php xml http request returning error (403)

嗨,我正在尝试使用Expedias api酒店系统,但似乎无法正常工作。 这是我的代码,出现此错误:

<h1>403 Developer Inactive</h1>

我不知道我在做什么错。 任何帮助将不胜感激。 这是我的代码:

<?php 
$ipad = $_SERVER['REMOTE_ADDR'];
$usera = $_SERVER['HTTP_USER_AGENT'];

$url = "http://api.ean.com/ean-services/rs/hotel/v3/info?'minorRev=5
&cid=55505
&apiKey=6spskr4y2sw4sh3vxkfg8cbg
&customerIpAddress = ".$ipad."
&customerUserAgent =".$usera."
&locale=en_US
&currencyCode=USD
&xml=<HotelInformationRequest>
<hotelId>122212</hotelId>
<options>HOTEL_SUMMARY</options>
</HotelInformationRequest>";

class cURL {

var $headers; 
var $user_agent; 
var $compression; 
var $cookie_file; 
var $proxy; 



function cURL($cookies=TRUE,$cookie='cookies.txt',$compression='gzip',$proxy=''){ 

$this->headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg'; 
$this->headers[] = 'Connection: Keep-Alive'; 
$this->headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'; 
$this->user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)'; 
$this->compression=$compression; 
$this->proxy=$proxy; 
$this->cookies=$cookies; 

if ($this->cookies == TRUE) $this->cookie($cookie); 
} 


function cookie($cookie_file){ 
if (file_exists($cookie_file)){ 
$this->cookie_file=$cookie_file; 
} else { 
fopen($cookie_file,'w') or $this->error('The cookie file could not be opened. Make sure this directory has the correct permissions'); 
$this->cookie_file=$cookie_file; 
fclose($this->cookie_file); 
} 
} 


function get($url) { 
$process = curl_init($url); 
curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers); 
curl_setopt($process, CURLOPT_HEADER, 1); 
curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent); 
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file); 
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file); 
curl_setopt($process,CURLOPT_ENCODING , $this->compression); 
curl_setopt($process, CURLOPT_TIMEOUT, 30); 
if ($this->proxy) curl_setopt($cUrl, CURLOPT_PROXY, 'proxy_ip:proxy_port'); 
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1); 
$return = curl_exec($process); 
curl_close($process); 
return $return; 
} 


function post($url,$data) { 
$process = curl_init($url); 
curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers); 
curl_setopt($process, CURLOPT_HEADER, 0); 
curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent); 
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file); 
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file); 
curl_setopt($process, CURLOPT_ENCODING , $this->compression); 
curl_setopt($process, CURLOPT_TIMEOUT, 30); 
if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy); 
curl_setopt($process, CURLOPT_POSTFIELDS, $data); 
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($process, CURLOPT_POST, 1); 
$return = curl_exec($process); 
curl_close($process); 
return $return; 
}

function error($error) { 
echo "<center><div style='width:500px;border: 3px solid #FFEEFF; padding: 3px; background-color: #FFDDFF;font-family: verdana; font-size: 10px'><b>cURL Error</b><br>$error</div></center>"; 
die; 
} 


function extractCustomHeader($start,$end,$header) { 
$pattern = '/'. $start .'(.*?)'. $end .'/'; 
if (preg_match($pattern, $header, $result)) { 
return $result[1]; 
} else { 
return false; 
} 
} 
}

$cc = new cURL();

$output = $cc->post($url,$postdata);
echo $output;
?>

您将收到403 Developer Inactive错误的最可能原因是因为您的apiKey值无效,不正确或已被禁用。 如果您已经激活了帐户,并且这是您提供的API密钥,请与支持人员联系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM