Используйте httpClient для входа. В Интернете можно найти много кодов, но они подлинные. Надежность не высокая. Я нашел человека, который зашел на Kaixin.com, и было очевидно, что я использовал неправильный файл cookie. Так важно разместить код в Интернете, а один и тот же код есть везде, и я не могу сказать, оригинальный ли он. или нет, если это хорошо и полезно, забудьте, если нет, то какой в этом смысл, навлекать на себя критику?
Из-за рабочих нужд мне пришлось собирать данные из других систем. После некоторого изучения я выбрал httpClient+htmlParser. Я читал статьи в сообществе IBM, его относительно легко обмануть.
Не буду вдаваться в основы. Я создал новый клиент и метод, добавил имя пользователя и пароль и залогинился. Это неправильно. Я добавил различные заголовки и параметры запроса и перепробовал все, что смог найти, но результат остался прежним. Неправильный пароль тоже возвращает 200, потому что когда он нашел jsp, то подумал, что это 200 и вообще не залогинился. И это должно быть не 200, а должно быть 302, которое обязательно будет переадресовано после входа в систему. Не могу понять почему 200. Я искал и искал на csdn и наконец увидел сообщение ( http://topic.csdn.net/u/20090105/17/dd8c1875-934e-4049-b5fe-706d78f6cb75.html ), которое разбудило меня от сна. Система j2ee, наконец, выполняет запрос по действию. Бесполезно отправлять запрос на выполнение в файл login.jsp. Действие входа должно быть отправлено в систему входа в систему. Struts или веб-система получают доступ к действию, а затем возвращают jsp. В отличие от PHP, это все страницы, и здесь нет понятия «бэкэнд», такого как J2EE.
Измените URL-адрес на действие, и проблема исчезнет. Он также будет 302, и я вижу, что он пересылается.
PS: Я сам написал для входа на Kaixin.com и мне выдали 408, но у меня наверное нет времени его изучать.
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/sysmaid/archive/2009/12/30/5105039.aspx.