我想登录我的spacetrack帐户,以便通过代码下载一些轨道数据。按照网站上为java用户发现的指令,我测试了这部分代码:
private static void loginSpaceTrack() {
try {
String baseURL = "https://www.spacetrack.org";
String authPath = "/auth/login";
String userName = "USERNAME";
String password = "PASSWORD";
String query = "/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow30/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中的类似问题
有人可以帮我解决这个问题吗?谢谢大家。
尝试更改你的baseURL:
String baseURL = "https://www.space-track.org";