Я пытался обработать перенаправление (302) в Java-коде, и, наконец, я смог это сделать. Но я столкнулся с проблемой. Например, когда перенаправление открывает страницу, нажатие любой ссылки на странице возвращает меня на страницу входа.Как переслать или сохранить файл cookie сеанса
Так что я должен написать свою собственную реализацию редиректа:
private HttpMethod loadHttp302Request(HttpMethod method, HttpClient client, int status, String urlString) throws HttpException, IOException {
if (status != 302)
return null;
String[] url = urlString.split("/");
HttpMethod theMethod = new GetMethod(urlString + method.getResponseHeader("Location")
.getValue());
theMethod.setRequestHeader("Cookie", method.getResponseHeader("Set-Cookie")
.getValue());
theMethod.setRequestHeader("Referrer", url[0] + "//" + url[2]);
theMethod.setDoAuthentication(method.getDoAuthentication());
theMethod.setFollowRedirects(method.getFollowRedirects());
int _status = client.executeMethod(theMethod);
return theMethod;
}
По-моему, я, возможно, не будет повторной отправки или сохранения куки сессии. Как я смогу выполнить повторную отправку или сохранение cookie сеанса? Если в приведенном выше коде есть какие-либо ошибки, пожалуйста, просветите меня.
Любые другие идеи будут оценены.
Для того, чтобы увеличить ваши шансы на получение ответа здесь, убедитесь, что вы форматировать Ваш код правильно, и вы удалите вещи, которые бессмысленны для тех, кто читает код (например, чрезмерных отладочных). Я только что сделал это для вас. –
спасибо. .. в дальнейшем придет. – Ahmed