访问Web API时,URL和curl访问权限不同 [英] URL and curl access different when accessing a web api

查看:114
本文介绍了访问Web API时,URL和curl访问权限不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

访问网络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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆