这是Java脚本的一部分,用于从网站(https://web.expasy.org/protparam/)收集.xls文件中的某些数据。该网站有一个盒子,我们在其中放置一些字符,然后计算并重定向到另一个URL(https://web.expasy.org/cgi-bin/protparam/protparam)。整个Java脚本运行正常,但是一段时间无法正常工作,我尝试诊断问题,现在在控制台上收到错误

""<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://web.expasy.org/cgi-bin/protparam/protparam">here</a>.</p>
</body></html>"


有人可以解决这个问题吗?
我必须声明一件事:我不是核心编程领域的人,因此我需要您的帮助。

//initializing the url
URL siturl = new URL("http://web.expasy.org/cgi-bin/protparam/protparam");
//opening the siturl connection
HttpURLConnection conn = null;
conn = (HttpURLConnection)siturl.openConnection();
conn.setRequestMethod("POST");
conn.setFollowRedirects(true);
conn.setRequestProperty("Content-length", String.valueOf(data.length()));
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setDoOutput(true);
conn.setDoInput(true);
//setting the output condition to true for printing the contents
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
// used to convert character to bytes
wr.write(data);
//System.out.println(data);
wr.flush();
wr.close();
// Get the response
BufferedWriter out = new BufferedWriter(new FileWriter("xlsresult.xls",true));
// printing the results to a text file
//out.write(data);
out.write(profilename+ "\t");
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;

最佳答案

您以HTTP打开连接,但是页面现在为HTTPS,因此向您发送HTTP 301(因为它现在位于https://web.expasy.org/cgi-bin/protparam/protparam而不是http://web.expasy.org/cgi-bin/protparam/protparam上)。至少那是我的猜测(我在HTTP方面工作不多)。

改变中

    URL siturl = new URL("http://web.expasy.org/cgi-bin/protparam/protparam");




    URL siturl = new URL("https://web.expasy.org/cgi-bin/protparam/protparam");


可能会解决问题。

关于javascript - 当同一脚本正常工作时,此代码返回301永久移动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61907942/

10-11 19:01