天空扫描仪 api,创建预订请求

Posted

技术标签:

【中文标题】天空扫描仪 api,创建预订请求【英文标题】:sky scanner api, create booking request 【发布时间】:2014-03-02 14:09:14 【问题描述】:

我正在尝试使用 skyscanner api

http://business.skyscanner.net/portal/en-GB/Documentation/FlightsLivePricingDetails

获取预订详情部分

我正在尝试创建预订请求,以便随后对其进行轮询, 我尝试输入的数据变量是正确的,但我只是返回了一个服务器错误,所以我怀疑我的 curl 请求有缺陷

$apiKey ='keygoeshere';
$Session = $_GET["session"];
$apiSessionUrl ='http://partners.api.skyscanner.net/apiservices/pricing/v1.0/'.$Session.'/booking';

$OutboundLegId = $_GET['OutboundLegId'];
$InboundLegId = $_GET['InboundLegId'];
$data = array('apiKey'=>$apiKey,'OutboundLegId' => $_GET['OutboundLegId'],'InboundLegId' => $InboundLegId);
$dataVars = http_build_query($data);

$ch = curl_init();

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL, $apiSessionUrl );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $dataVars);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);

非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

在使用PUT 请求时添加内容长度标头。

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($dataVars))); 

【讨论】:

以上是关于天空扫描仪 api,创建预订请求的主要内容,如果未能解决你的问题,请参考以下文章

如何检测键盘楔形扫描仪条形码输入到网络输入并阻止键盘输入

HBase概念学习Java API之扫描和过滤器

如何在其他地方使用条形码扫描仪的结果?

如何使条码扫描仪只扫描一次(谷歌移动视觉 API)?

Sonarqube 扫描仪报告上传错误 500

使用Python调用Nessus 接口实现自动化扫描