[英]403 error while trying to download a exe from my web server
我不断收到 403 错误,我想尽一切办法让它适合我的自动更新程序,因为我正在制作的东西应该得到一个 .exe 并用新的更新版本替换旧的 .exe ......
package cyara;
import javafx.event.ActionEvent;
import javafx.scene.control.Label;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
public class Controller {
public Label latest;
public Label verision;
private String version = "1.0";
public void downloadLatest(ActionEvent actionEvent) {
verision.setText("Current Updater Version " + version);
latest.setText("Downloading Files");
String url = "https://www.kadepcgames.com/downloads/cyara/b-0001/latest/Cyara.exe";
try {
latest.setText("Connecting to www.kadepcgames.com/downloads/cyara/b-0001/latest/Cyara.exe");
downloadUsingNIO(url, "/Program Files/Cyara/Cyara.exe");
latest.setText("Trying to download the backup");
downloadUsingStream(url, "/Program Files/Cyara/CyaraBackup.exe");
} catch (IOException e) {
latest.setText("Download Failed!");
e.printStackTrace();
}
}
private static void downloadUsingStream(String urlStr, String file) throws IOException {
URL url = new URL(urlStr);
URLConnection uc;
uc = url.openConnection();
uc.addRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
BufferedInputStream bis = new BufferedInputStream(url.openStream());
FileOutputStream fis = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int count = 0;
while ((count = bis.read(buffer,0,1024)) != -1) {
fis.write(buffer, 0, count);
}
fis.close();
bis.close();
}
private static void downloadUsingNIO(String urlStr, String file) throws IOException {
URL url = new URL(urlStr);
URLConnection uc;
uc = url.openConnection();
uc.addRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
ReadableByteChannel rbc = Channels.newChannel(url.openStream());
FileOutputStream fos = new FileOutputStream(file);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}
我得到了java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.example.com/downloads/cyara/b-0001/latest/Cyara.exe
错误主要尝试教程,但他们都没有为我工作。 所以我真的唯一想到的是权限(我检查过),即使在将它们设置为 777 之后仍然没有运气! 我真的厌倦了这个。
我建议检查 apache 配置。 由于 .exe 扩展名,apache 可能阻止了请求。
看看这篇文章: 403 error on .exe files apache
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.