RE:interactuar automáticamente con un formulario
Te paso el código de tres clases que utilizo para eso, una es de test de ejemplo, los parametros que
tu tienes que pasar son los datos de tu formulario:
Suerte!
---------------------------------------------------------------------------------------------------------
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
List<Parameter> list = new ArrayList<Parameter>();
String url="http://carrypotter.blogspot.com";
//Parameter parameter = new Parameter("usuario","admin");
//list.add(parameter);
//parameter = new Parameter("password","admin");
//list.add(parameter);
String resultPage = HTTPControler.sendRequest(url,list,HTTPControler.METHOD.GET);
System.out.println(resultPage);
}
}
---------------------------------------------------------------------------------------------------------
public class HTTPControler {
public enum METHOD{GET,POST}
/**
*
* @param httpUrl del sitio al que quieres consultar
* @param parameters que le vas a enviar
* @param method forma de envío
* @return Un string con la pagina resultado
*/
public static String sendRequest(String httpUrl,List<Parameter> parameters,METHOD method)throws Exception{
String result="";
String stringParameters=parameters!=null && parameters.size()>0?"?":"";
boolean addAnd=false;
for(Parameter param: parameters){
if(addAnd){
stringParameters+="&";
}
stringParameters+=param.getName()+"="+param.getValue();
addAnd=true;
}
if(addAnd){
httpUrl+=stringParameters;
}
URL url=new URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
switch (method) {
case GET:
connection.setRequestMethod("GET");
break;
case POST:
connection.setRequestMethod("POST");
break;
}
connection.setDoInput(true);
connection.connect();
if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
result="PAGE_NOT_FOUNT";
}else{
StringBuilder builder= new StringBuilder();
BufferedReader reader=new BufferedReader(new InputStreamReader( connection.getInputStream()));
String line="";
while((line=reader.readLine())!=null){
builder.append(line+"
");
}
result = builder.toString();
}
connection.disconnect();
return result;
}
}
---------------------------------------------------------------------------------------------------------
public class Parameter {
private String name;
private String value;
public Parameter(String name, String value){
this.name=name;
this.value=value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
-------------------------------------------------------------------------------------------------