HttpClient использует метод POST для отправки исходного кода данных:
Кода -копия выглядит следующим образом:
пакетный пост;
импортировать java.io.ioexception;
Import org.apache.commons.httpclient.header;
Import org.apache.commons.httpclient.httpclient;
Import org.apache.commons.httpclient.httpexception;
Import org.apache.commons.httpclient.httpstatus;
Import org.apache.commons.httpclient.namevaluepair;
Import org.apache.commons.httpclient.methods.postmethod;
открытый класс pothttp {
/**
* @param args
*/
public static void main (string [] args) {
// TODO Автогенерированный метод заглушка
Httpclient httpclient = new httpclient ();
String url = "http://193.167.13.21/setup.cgi";
Postmethod postmethod = new postmethod (url);
// Заполнить значения каждого поля формы
NamevaluePair [] data = {
Новое namevaluePair ("id", "11"),
Новое имя ValuePair ("Mtg", "0"),
Новое имя ValuePair ("havecookie", "0"),
Новое имя ValuePair ("Backid", "30"),
New nameValuePair ("PSW", "пароль")
};
// Поместите значение формы в постметод
postmethod.setrequestbody (data);
// выполнить постметод
int statusCode = 0;
пытаться {
statusCode = httpclient.executemethod (postmethod);
} catch (httpexception e) {
// Todo Auto Generated Catch Blach
e.printstacktrace ();
} catch (ioException e) {
// Todo Auto Generated Catch Blach
e.printstacktrace ();
}
// httpclient не может автоматически обрабатывать пересылку для запросов, которые требуют последующих услуг, таких как POST и PUT.
// 301 или 302
if (statuscode == httpstatus.sc_moved_permanly || statuscode == httpstatus.sc_moved_temperally)
{
// снять адрес рулевого управления с самого начала
Header LocationHeader = postmethod.getResponseHeader ("location");
Строка местоположение = null;
if (locationHeader! = null) {
местоположение = locationHeader.getValue ();
System.out.println («Страница была перенаправлена на:« + местоположение);
}
еще {
System.err.println («Значение поля местоположения равна нулю»);
}
возвращаться;
}
еще
{
System.out.println (postmethod.getStatusline ());
String str = "";
пытаться {
str = postmethod.getResponseBodyAssTring ();
} catch (ioException e) {
// Todo Auto Generated Catch Blach
e.printstacktrace ();
}
System.out.println (str);
}
Postmethod.ReleAseConnection ();
возвращаться ;
}
}
// это информация в логине процесса аутентификации пользователя
Требуемый пакет JAR:
1. Commons-httpclient-3.1-rc1.zip http://jakarta.apache.org/commons/httpclient/downloads.html
2. Commons-codec-1.3.jar http://jakarta.apache.org/site/downloads/downloads_commons-codec.cgi
3. Commons-logging-api.jar в каталоге Tomcat 5.5/bin в Tomcat5.5 или http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi