我有这个命令:
wget -O prova.csv --header="prova-user: guest" --header="prova-passwd: guest"
"http://www.....................80&albedo=0.2&horizon=1"
我想用Java安排批处理,但我无法连接。当我尝试接受imputstream时返回此错误:
错误消息-8:未注册的IP地址
这是我的代码:
URL myURL = new URL(url);
HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
String userCredentials = "guest:guest";
String basicAuth = "Basic " + new String(new Base64().encode(userCredentials.getBytes()));
myURLConnection.setRequestProperty ("Authorization", basicAuth);
myURLConnection.setRequestMethod("POST");
myURLConnection.setRequestProperty("Content-Language", "en-US");
myURLConnection.setUseCaches(false);
myURLConnection.setDoInput(true);
myURLConnection.setDoOutput(true);
// Show page.
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(myURLConnection.getInputStream(), "UTF-8"));
for (String line; ((line = reader.readLine()) != null);) {
System.out.println(line);
}
} finally {
if (reader != null) try { reader.close(); } catch (IOException ignore) {}
}
有可能吗?我该怎么办?
提前致谢
答案 0 :(得分:0)
您提供了2个完全不同的命令。
第一个是wget,它在HTTP头中发送一种身份验证信息,并获得结果。
第二个是一个java程序,它在POST中使用基本身份验证执行HTTP请求。
如果第一个命令正常,那么您应该忘记基本身份验证并像在wget命令中那样设置正确的HTTP头。
如果wget看起来像普通的GET请求,我不知道你尝试POST的原因。
也可以在java中使用GET请求。
它应该有用。
关于错误,我想是向您发送此类错误消息的服务器。
因此,您可能无法正确验证身份。
但这是一个奇怪的错误,如果服务器有一个允许连接的白名单IP地址,我预计会出现这种错误。
您是否在同一台服务器上运行wget和java代码?