首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cleartrip飞行API -“未授权访问服务”错误

Cleartrip飞行API -“未授权访问服务”错误
EN

Stack Overflow用户
提问于 2013-08-26 05:16:22
回答 1查看 1.2K关注 0票数 1

我正在使用Cleartrip飞行API来获取航班票价的详细信息。当使用API键请求URL时,我会得到“未授权访问服务”错误。下面是我使用Apache HttpComponents编写的Java代码

HttpHost proxy =新HttpHost("My“,端口号,"http");

字符串url = "https://api.cleartrip.com/air/1.0/search?from=BOM&to=DEL&depart-date=2013-06-06&return-date=2013-06-06";

代码语言:javascript
复制
    //String url = "http://www.google.com/search?q=developer";

    HttpClient client = new DefaultHttpClient();
    client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
    HttpGet request = new HttpGet(url);

    // add request header
    request.addHeader("X-CT-API-KEY", "My API Key");
    request.addHeader("User-Agent", "Mozilla/5.0");



    System.out.println(" header "+request.getHeaders("X-CT-API-KEY")[0]);
    HttpResponse response = client.execute(request);

    System.out.println("\nSending 'GET' request to URL : " + url);
    System.out.println("Response Code : " + 
                   response.getStatusLine().getStatusCode());

    BufferedReader rd = new BufferedReader(new  InputStreamReader(response.getEntity().getContent()));

    StringBuffer result = new StringBuffer();
    String line = "";
    while ((line = rd.readLine()) != null) {
        result.append(line);
    }

    System.out.println(result.toString());
}

有人能帮我吗!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-09 09:15:14

就连我也有同样的问题。后来,我了解到,默认情况下,所有api (在单独处理过程中获得的api)都会被阻塞。你得给api.support@cleartrip.com写封信

他们会问你的公司的细节,商业模式和商业案例。如果他们对这些细节感到满意,那么他们将解除阻塞您的api密钥。

因为我的项目是在我的最后一个学期,他们已经拒绝了我的api密钥查询。

这里我分享我的java代码。所以它可能对某个人有用。

代码语言:javascript
复制
        HttpClient client = new DefaultHttpClient();
        String getURL =URL;
        Log.d("URL",getURL);
        HttpGet get = new HttpGet(getURL);
        get.setHeader("X-CT-API-KEY", (my api key));
        HttpResponse responseGet = client.execute(get);
        HttpEntity resEntityGet = responseGet.getEntity();
        if (resEntityGet != null)
        {
            Log.i("GET ", EntityUtils.toString(resEntityGet));
        }

由于我没有被授权使用这个api,所以我得到了以下响应。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><faults xmlns="http://www.cleartrip.com/apigateway/common"><fault><fault-message>Not authorized to access the service</fault-message></fault></faults>

HTTP URL如下所示

代码语言:javascript
复制
https://api.cleartrip.com/air/1.0/search?from=BOM&to=DEL&depart-date=2013-11-11&return-date=2013-12-12
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18437092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档