访问Web API时,URL和curl访问权限不同 [英] URL and curl access different when accessing a web api
问题描述
访问网络aPI时,网址和cURL访问权限不同。我错过了标题或者什么,因为cURL php只输出''而不是下面的URL输出
我尝试过:
我有这个URL访问权限:http://bookings.seawings.ae/remoteconnect/default.asp?XML =%3Ccs%3E%0D%0A +% 3CO + N%3D%22authenticationcode%22 + v%的3D%22d657cce7fa320a23950dca157fe693b8%22%2F%3E%0D%0A +%3CC + N%3D%22flightsearch%22%3E%0D%0A ++%3Cq + N%3D%22StartDate% 22 + v%的3D%2211-APR-2012%22%2F%3E%0D%0A ++%3Cq + N%3D%22EndDate%22 + v%的3D%2211-APR-2014%22%2F%3E%0D% 0A ++%3Cq + N%3D%22Typeofflight%22 + v%的3D%22SILVER%22%2F%3E%0D%0A ++%3Cq + N%3D%22Seats_Adult%22 + v%的3D%228%22%2F%3E% 0D%0A +%3C%2Fc%3E%0D%0A%3C%2Fcs%3E
并返回:
< cs> < c n =flightsearch>
但是当我尝试在PHP中运行它时:
<?php $ request_xml ='< cs> < o n =authenticationcodev =d657cce7fa320a23950dca157fe693b8/> < c n =FlightSearch> < q n =StartDatev =2013年7月1日/> < q n =EndDatev =2013年7月30日/> < q n =Seats_adultv =3/> < / c取代; < / CS>;
$ ch = curl_init(); curl_setopt($ ch,CURLOPT_URL,'https://bookings.seawings.ae/remoteconnect/default.asp'); // curl_setopt($ ch,CURLOPT_USERPWD,$ username。':'。$ password); curl_setopt($ ch,CURLOPT_HTTPAUTH,CURLAUTH_ANY); curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ ch,CURLOPT_SSLVERSION,3); curl_setopt($ ch,CURLOPT_TIMEOUT,4); curl_setopt($ ch,CURLOPT_POSTFIELDS,$ request_xml); curl_setopt($ ch,CURLOPT_HTTPHEADER,array('Connection:close')); $ result = curl_exec($ ch);
echo stripslashes($ result);
curl_close($ ch);
?>
它只返回:''
我尝试使用Curl。我错过了标题还是什么?
request_xml ='< cs> < o n =authenticationcodev =d657cce7fa320a23950dca157fe693b8/> < c n =FlightSearch> < q n =StartDatev =2013年7月1日/> < q n =EndDatev =2013年7月30日/> < q n =Seats_adultv =3/> < / c取代; < / cs>';
ch = curl_init(); curl_setopt(
ch,CURLOPT_URL,'https://bookings.seawings.ae/remoteconnect/default.asp'); // curl_setopt(
URL and cURL access different when accessing a web aPI. Am I missing headers or something because the cURL php only outputs "''" rather than the URL output from below
What I have tried:
I have this URL access : http://bookings.seawings.ae/remoteconnect/default.asp?XML=%3Ccs%3E%0D%0A+%3Co+n%3D%22authenticationcode%22+v%3D%22d657cce7fa320a23950dca157fe693b8%22%2F%3E%0D%0A+%3Cc+n%3D%22flightsearch%22%3E%0D%0A++%3Cq+n%3D%22StartDate%22+v%3D%2211-Apr-2012%22%2F%3E%0D%0A++%3Cq+n%3D%22EndDate%22+v%3D%2211-Apr-2014%22%2F%3E%0D%0A++%3Cq+n%3D%22Typeofflight%22+v%3D%22SILVER%22%2F%3E%0D%0A++%3Cq+n%3D%22Seats_Adult%22+v%3D%228%22%2F%3E%0D%0A+%3C%2Fc%3E%0D%0A%3C%2Fcs%3E
and it returns :
<cs> <c n="flightsearch">
but when I try to run it in PHP:
<?php $request_xml = '<cs> <o n="authenticationcode" v="d657cce7fa320a23950dca157fe693b8"/> <c n="FlightSearch"> <q n="StartDate" v="1-Jul-2013"/> <q n="EndDate" v="30-Jul-2013"/> <q n="Seats_adult" v="3"/> </c> </cs>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://bookings.seawings.ae/remoteconnect/default.asp'); //curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSLVERSION, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 4); curl_setopt($ch, CURLOPT_POSTFIELDS, $request_xml); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close')); $result = curl_exec($ch); echo stripslashes($result); curl_close($ch); ?>
it only returns: "''"
I tried using Curl. Am I missing headers or something?
request_xml = '<cs> <o n="authenticationcode" v="d657cce7fa320a23950dca157fe693b8"/> <c n="FlightSearch"> <q n="StartDate" v="1-Jul-2013"/> <q n="EndDate" v="30-Jul-2013"/> <q n="Seats_adult" v="3"/> </c> </cs>';
ch = curl_init(); curl_setopt(
ch, CURLOPT_URL, 'https://bookings.seawings.ae/remoteconnect/default.asp'); //curl_setopt(
这篇关于访问Web API时,URL和curl访问权限不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!