调试了一天终于找到原因了,奶奶的!! 测试就报503错误,用CURL没有问题,根源原来是JDK的自我保护!!!
出于安全考虑,jdk的HttpUrlConnection里面,如果你设置一个叫做Host的头,该类会“不动声色”的忽略过去,这时候需要在启动参数里加上一个-Dsun.net.http.allowRestrictedHeaders=true,或者选用HttpClient系列的东西来完成网络请求。
这个操作相当于Linux上的命令 wget –header="Host: hostname" url