javascript - 此代码返回 301 永久移动,而同一脚本正常工作
问题描述
这是从网站 ( https://web.expasy.org/protparam/ )收集 .xls 文件中的一些数据的 java 脚本的一部分。该网站有一个框,我们在其中放置一些字符,然后它计算并重定向到另一个 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 - 单击时如何获取表格相应单元格的值
- python - 使用数组匹配多列
- angular - 来自猫鼬模式的角度接口
- node.js - 无法从亚马逊获取访问令牌
- tcp - 在 Tokio 中使用 TcpStream 读取分段的 TCP 数据包
- wordpress - 在多语言网站中切换页脚
- javascript - 在 JavaScript 中解析非标准 JSON
- javascript - 语义 UI - iPhone 上的透明简单下拉菜单
- parse-platform - 使用 Back4app-Cli 部署本地解析服务器
- apache - 设置 Virtualhosts 后 localhost 不起作用