尝试从我的Web服务器下载exe时403错误

时间:2018-03-16 22:46:36

标签: java apache http web

我一直收到403错误,我尝试了所有内容以使我的自动更新程序正确,我正在制作哪些应该获得.exe并用新更新的.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之后仍然没有运气! 我真的厌倦了这一点。

1 个答案:

答案 0 :(得分:0)

我建议检查apache配置。由于.exe扩展名,apache可能会阻止请求。

看一下这篇文章: 403 error on .exe files apache