【问题标题】:Cleartrip Flight API - "Not authorized to access the service" errorCleartrip Flight API - “未授权访问服务”错误
【发布时间】:2019-01-17 02:12:10
【问题描述】:

我正在使用 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());
}

谁能帮帮我!!!

【问题讨论】:

    标签: java http-headers apache-httpcomponents


    【解决方案1】:

    即使我也有同样的问题。后来我才知道默认情况下所有 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      相关资源
      最近更新 更多