java http设置Host、Origin等请求头
有个爬虫,需要设置Origin请求头,但是代码中明明已经设置好了Origin请求头,但是抓包发现,并没有设置成功,查阅资料发现Host、Origin这类特殊请求头被限制,不允许修改,除非解除限制。
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
// System.setProperty(“http.proxyHost”, “127.0.0.1”);
// System.setProperty(“http.proxyPort”, “8888”);
System.setProperty(“sun.net.http.allowRestrictedHeaders”, “true”);
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
//
con.setRequestMethod(“POST”);
con.setDoOutput(false);//有无body参数
con.setDoInput(true);
con.setUseCaches(false);
con.setConnectTimeout(30000);//是建立连接的超时时间
con.setReadTimeout(30000);//是传递数据的超时时间
//请求头
// con.setRequestProperty(“Connection”, “keep-alive”);//抓包发现,不加也是这个
con.setRequestProperty(“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36”);
con.setRequestProperty(“Origin”, “http://xxx.com“);
// 开启连接
con.connect();
还没有评论,来说两句吧...