使用java登录space-track.org

问题描述 投票:0回答:1

我想登录我的spacetrack帐户,以便通过代码下载一些轨道数据。按照网站上为java用户发现的指令,我测试了这部分代码:

private static void loginSpaceTrack() {

    try {
        String baseURL = "https://www.space­track.org";
        String authPath = "/auth/login";
        String userName = "USERNAME";
        String password = "PASSWORD";
        String query = "/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow­30/orderby/NORAD_CAT_ID/format/3le";

        CookieManager manager = new CookieManager();
        manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
        CookieHandler.setDefault(manager);

        URL url = new URL(baseURL + authPath);

        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        String input = "identity=" + userName + "&password=" + password;
        OutputStream os = conn.getOutputStream();
        os.write(input.getBytes());
        os.flush();
        BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {

        }
        url = new URL(baseURL + query);
        br = new BufferedReader(new InputStreamReader((url.openStream())));

        while ((output = br.readLine()) != null) {

        }
        url = new URL(baseURL + "/ajaxauth/logout"); 
        br = new BufferedReader(new InputStreamReader((url.openStream())));
        conn.disconnect();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

显然用我的帐户更改了USERNAME和PASSWORD。

在这一点:OutputStream os = conn.getOutputStream();我有一个例外:UnknownHostException

请注意,此时我还没有使用我的凭据登录。

android中的类似问题

有人可以帮我解决这个问题吗?谢谢大家。

java android
1个回答
1
投票

尝试更改你的baseURL:

String baseURL = "https://www.space-track.org";
© www.soinside.com 2019 - 2024. All rights reserved.