You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java使用HttpUrlConnection连接000webhostapp返回400错误如何解决

问题产生原因
  • 缺失必要请求头:000webhost平台的安全拦截机制要求请求必须携带User-Agent、Host等标准请求头,你提供的代码未配置任何请求头,服务器识别为非法请求直接返回400错误。
  • 域名或网络限制:浏览器也无法访问站点有两种可能,一是你使用的subdomain.000webhostapp.com子域名不存在、已被平台封禁,二是你当前的网络运营商屏蔽了000webhostapp相关域名的解析和访问。
  • 代码语法笔误:你贴出的代码中connection.getInputStream():结尾为冒号,属于语法错误会导致编译失败,但不属于运行时抛出400错误的诱因。
排查解决步骤
  • 验证域名有效性:在本地执行ping subdomain.000webhostapp.com命令,查看是否能正常解析到IP,如果解析失败先确认子域名拼写正确,再切换手机流量等其他网络环境测试是否是当前网络屏蔽了站点。
  • 完善请求头配置:修改Java代码补充标准请求头,同时添加响应码判断逻辑,示例代码如下:
URL url = new URL("http://subdomain.000webhostapp.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 补充标准请求头绕过平台拦截
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
connection.setRequestProperty("Host", "subdomain.000webhostapp.com");
connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8");

int responseCode = connection.getResponseCode();
if (responseCode >= 200 && responseCode < 300) {
    // 请求成功读取正常响应
    InputStream inputStream = connection.getInputStream();
} else {
    // 请求异常读取错误流获取具体报错信息
    InputStream errorStream = connection.getErrorStream();
}
  • 错误详情排查:如果请求仍返回400,读取getErrorStream()的返回内容打印,可直接获取服务器返回的具体错误提示,快速定位是参数缺失还是权限不足等问题。

内容的提问来源于stack exchange,提问作者bahoz99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:57:03