1

我正在使用 Cleartrip Flight API 来获取航班票价详细信息。当使用 API 密钥请求 URL 时,我收到“未授权访问服务”错误。这是我使用 Apache HttpComponents 的 Java 代码

HttpHost 代理 = new HttpHost("我的 IP", 端口号, "http");

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

    //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());
}

谁能帮我 !!!

4

1 回答 1

2

即使我有同样的问题。后来我才知道默认情况下所有 api(您在注册过程中获得的)都被阻止。你必须写一封邮件到api.support@cleartrip.com

他们会询问您的公司详细信息、商业模式和商业案例。如果他们对这些细节感到满意,那么他们将解锁您的 api 密钥。

由于我的项目是我最后一个学期的项目,他们拒绝了我的 api 密钥查询。

在这里我分享我的java代码。这样它可能对某些人有用。

        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,我得到了以下回复。

<?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如下

https://api.cleartrip.com/air/1.0/search?from=BOM&to=DEL&depart-date=2013-11-11&return-date=2013-12-12
于 2013-09-09T09:15:14.783 回答