我之前遇到过这种问题,有些网站是这样的,他判断cookie里面是否有某个值,如果没有就定向到另外一个页面去把COOKIE的值设置了,然后再跳转回来,但是如果我们通过HttpURLConnection去的话,cookie里面一直都没有那个值,所以他就一直在那里跳来跳去,所以我们就需要一个CookieManager,在使用URLConnection之前设置它,只需要设置一次。
目前还不清楚这样的设置是否会带来更多的内存开销。
如果有人愿意研究,请告知。
System.setProperty("http.maxRedirects", "100");
It‘s apparently redirecting in an infinite loop because you don‘t maintain the user session. The session is usually backed by a cookie. You need to create a CookieManager
before you use URLConnection
.
// First set the default cookie manager. CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL)); // All the following subsequent URLConnections will use the same cookie manager. URLConnection connection = new URL(url).openConnection(); // ... connection = new URL(url).openConnection(); // ... connection = new URL(url).openConnection();
时间: 2024-10-10 05:09:04