HttpUrlConnection不能设置Host

调试了一天终于找到原因了,奶奶的!!  测试就报503错误,用CURL没有问题,根源原来是JDK的自我保护!!!

出于安全考虑,jdk的HttpUrlConnection里面,如果你设置一个叫做Host的头,该类会“不动声色”的忽略过去,这时候需要在启动参数里加上一个-Dsun.net.http.allowRestrictedHeaders=true,或者选用HttpClient系列的东西来完成网络请求。

 

这个操作相当于Linux上的命令  wget   –header="Host: hostname"  url


版权声明:本文为mno2330原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。