Acessar pagina html com java

10 respostas
snowblacksoul

Fala pessoal, bom dia!

Seguinte, preciso acessar uma pagina html , que tem como parametros
txtEstabelecimento ,txtGrupoEntidade ,txtUsuario,txtCiteWeb

Como posso fazer isso?! Eu consigo fazer isso usando java
á pagina que quero acessar é essa aqui

https://services.redecard.com.br/novoportal/site/3562/default.aspx

10 Respostas

AdrianoSB

Pode usar HtmlUnit http://htmlunit.sourceforge.net/

snowblacksoul

Estou vendo que pra fazer isso é bem complicado heimm!!

lucasirc

para acessar a pagina voce pode utilizar o httpClient

http://hc.apache.org/httpcomponents-client-ga/quickstart.html

tem como voce colocar parametros para requisicao e alterar o metodo se é post get e etc, entre outras coisas

abraços

lucasirc

para acessar a pagina voce pode utilizar o httpClient

http://hc.apache.org/httpcomponents-client-ga/quickstart.html

tem como voce colocar parametros para requisicao e alterar o metodo se é post get e etc, entre outras coisas

abraços

snowblacksoul

E ae lucasirc blz!!?

Cara estou tentando de todas as formas e não estou conseguindo, pode me ajudar nisso!
Estou utilizando o httpclient mais está mais complicado do que você imagina, vou postar o código do que estou fazendo e o retorno!

código chamando o url

import java.io.FileOutputStream;  
import java.io.IOException;  
  
import org.apache.commons.httpclient.HttpClient;  
import org.apache.commons.httpclient.HttpStatus;  
import org.apache.commons.httpclient.NameValuePair;  
import org.apache.commons.httpclient.methods.PostMethod;  
  
  
public class MainSendRequest {  
    static String url = "https://services.redecard.com.br//NovoPortal/DesktopModules/SignInRDC/SignInPortalServicos.asp";  
  
        public static void main(String[] args) {  
  
            //Instantiate an HttpClient  
            HttpClient client = new HttpClient();  
  
            //Instantiate a GET HTTP method  
            PostMethod method = new PostMethod(url);  
            method.setRequestHeader("Content-type",  
                    "text/xml; charset=ISO-8859-1");  
  
            //Define name-value pairs to set into the QueryString  
            NameValuePair nvp1= new NameValuePair("txtnu_pdv","fname");  
            NameValuePair nvp2= new NameValuePair("txtGrupoEntidade","lname");  
            NameValuePair nvp3= new NameValuePair("txtUsuario","[email removido]");  
  
            method.setQueryString(new NameValuePair[]{nvp1,nvp2,nvp3});  
  
            try{  
                int statusCode = client.executeMethod(method);  
  
                System.out.println("Status Code = "+statusCode);  
                System.out.println("QueryString>>> "+method.getQueryString());  
                System.out.println("Status Text>>>"  
                      +HttpStatus.getStatusText(statusCode));  
  
                //Get data as a String  
                System.out.println(method.getResponseBodyAsString());  
  
                //OR as a byte array  
                byte [] res  = method.getResponseBody();  
  
                //write to file  
                FileOutputStream fos= new FileOutputStream("donepage.html");  
                fos.write(res);  
  
                //release connection  
                method.releaseConnection();  
            }  
            catch(IOException e) {  
                e.printStackTrace();  
            }  
        }  
}

esse é o retorno, veja que não consigo logar na pagina

Status Code = 200
QueryString>>> txtnu_pdv=fname&txtGrupoEntidade=lname&txtUsuario=email%40email.com
Status Text>>>OK
 
	<HTML>
	  <HEAD>
		<META http-equiv="content-type" content="text/html; charset=iso-8859-1">
		
	  <link rel='stylesheet' href='/novoportal/Portals/_PierNet/Classes/primeira.css' type='text/css'>
	 

	<SCRIPT LANGUAGE=javascript>
	function ValidaLogin()
{

//#---------------------------------------------------------------------------
//#Tipo: PAGINA
//#BIP: 
//#Chamado: 
//#Descricao: Retirado a referencia para o iFrame "esquerdo" para login no Portal com Mozilla
//#Responsavel: Fausto Branco
//#Data: 01/02/2008
//#--------------------------------------------------------------------------


	objForm = document.frmLogin 
		
	if (objForm.txtnu_pdv.value == "" )
	{
		alert("Entre com o número do estabelecimento");
		objForm.txtnu_pdv.focus;
	}
	else
	{
		if (objForm.txtCiteWeb.value == "" )
		{
			alert("Entre com a sua senha");
			objForm.txtCiteWeb.focus;
		}
		else
		{
			var Nu_pdv		
				Nu_pdv      = objForm.txtnu_pdv.value
			var Nu_entidade 
				Nu_entidade = objForm.txtGrupoEntidade.value
			var Nm_usuario	
				Nm_usuario  = objForm.txtUsuario.value
					
			objForm.action = "https://services.redecard.com.br/novoportal/Portals/Servico/PopUp_login_Existente.asp";
			objForm.submit();
		}
	}
	
}	

function ValidaCiteRav()
{
	if (navigator.appName == 'Netscape') 
		objForm = document.frmLogin
	else
		objForm = document.frmLogin 
	
	objForm.action = "bdPrimeira.asp?txtnu_pdv="+objForm.txtnu_pdv.value;
	objForm.submit();
}

function ValidaTecla(e)
{
	var key;
	var srcElement;
	
	if (navigator.appName == 'Netscape') {
		srcElement = e.target.name;
		key = e.which;
	}
	else
	{
		key = window.event.keyCode;
		srcElement = window.event.srcElement.name
	}
	if (key==0x08)
		return;
	if (key==0x0D) 
	{
		if(frmLogin.txtUsuario.value == "")
		{
			BotaoOk('frase');
		}else{
			BotaoOk('login');
		}
		
	}else{
		if ( srcElement == "txtnu_pdv")
		{
			if( key < 48 || key > 57 )
			{
				if (navigator.appName == 'Netscape') 
					e.which = 0;
				else
					window.event.keyCode = 0;
			}
		}
	}
}

if (navigator.appName == 'Netscape') 
{
    window.captureEvents(Event.KEYPRESS | Event.CLICK);
    window.onKeyPress = ValidaTecla;
}

function VerificaTamanho()
{
	if (navigator.appName == 'Netscape') 
	{
		objForm = document.frmLogin
		srcElement = e.target.name;
	}
	else
	{
		objForm = document.frmLogin 
		srcElement = window.event.srcElement.name
	}
	if (srcElement.value.length == srcElement.maxLength)
	{
		switch (srcElement.name)
		{
			case "txtnu_pdv":
				objForm.txtCiteWeb.focus();
				break;
		}
	}
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode)) {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }

    function containsElement(arr, ele) {
        var found = false, index = 0;
        while(!found && index < arr.length)
        if(arr[index] == ele)
            found = true;
        else
            index++;
        return found;
    }

    function getIndex(input) {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
        if (input.form[i] == input)index = i;
        else i++;
            return index;
    }
    return true;
}

function AbrePopup()
{
	var hdl;
	
	hdl = window.open('bd/Cef_Consulta.asp?txtnu_pdv=', 'serviconaodisponivel', 'width=460,height=480,resizable=0,menubar=0,toolbar=0,resize=no,titlebar=0 scrolling=auto,screenX=100,screenY=100,left=1,top=1','yes');
	//hdl.focus();

}



	function BotaoOk()
	{
		ValidaLogin();			
	}

	function MudaEstab(Obj) {
		var lngIndice = new Number(Obj.selectedIndex);
		//divEstab.innerHTML = 'Nº do Estabelecimento';
		divEstab.style.visibility = 'visible';
		divEstab.style.lineHeight = 'normal';
		divEstab.style.display = 'inline';
		//Testa se Funcionarios estava selecionado e limpa o compo de PV
		if(divTableEstab.style.visibility == 'hidden') {
			document.frmLogin.txtnu_pdv.value = '';
		}
		document.frmLogin.cboBandeiras.style.width = 0;
		document.frmLogin.txtnu_pdv.style.width = 120;
		document.frmLogin.txtnu_pdv.style.visibility = 'visible';
		divTableEstab.style.visibility = 'visible';
		divTableEstab.style.lineHeight = 'normal';
		divTableEstab.style.display = 'inline';
		divUsuario.innerHTML = 'Usuário'
		
		if (lngIndice == 0) {
			divEstab.innerHTML = 'Nº do Emissor'
		}
		else if (lngIndice == 1) {
			divEstab.innerHTML = 'Nº do Distribuidor'
		}
		else if (lngIndice == 2) {
			divTableEstab.style.visibility = 'hidden';
			divTableEstab.style.lineHeight = '0px';
			divTableEstab.style.display = 'none';
			document.frmLogin.txtnu_pdv.value = '1';

			divEstab.style.visibility = 'hidden';
			divEstab.style.lineHeight = '0px';
			divUsuario.innerHTML = 'Funcional'
		}
		else if (lngIndice == 3) {
			divEstab.innerHTML = 'Código SPB';
		}
		else if (lngIndice == 4) {
			divEstab.innerHTML = 'Nº do Exclusivo Voucher';
		}	
		else if (lngIndice == 5) {
			document.frmLogin.txtnu_pdv.style.visibility = 'hidden';
			document.frmLogin.txtnu_pdv.style.width = 0;
			document.frmLogin.cboBandeiras.style.width = 110;
			
			divEstab.innerHTML = 'Bandeira';
		}	
		else if (lngIndice == 6) {
			divEstab.innerHTML = 'Nº da EPS'
		}		
		else if (lngIndice == 7) {
			divEstab.innerHTML = 'Nº da Filial'
		}
		else if (lngIndice == 8) {
			divEstab.innerHTML = 'Nº do Parceiro'
		}
		else if (lngIndice == 9) {
			divEstab.innerHTML = 'Nº da EPS'
		}					
	//	else if (lngIndice == 9) {
	//		divEstab.innerHTML = 'Nº da Instaladora'
	//	}		
		

	}

	function MudaBandeira(Obj) {
		document.frmLogin.txtnu_pdv.value = Obj.value;
	}

	function MM_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	}
	//-->
	</SCRIPT>

	<style TYPE="text/css">
		.Verdana11
		{
			COLOR: #5e5e5e;
			FONT-FAMILY: Verdana;
			FONT-SIZE: 10px;
		}

		.Verdana11: hover
		{
			TEXT-DECORATION: underline;
		}
	</style>
	</HEAD>
		<body onkeypress="JavaScript:ValidaTecla(0)" onload="window.parent.fazerLogin();" style="padding:0px; margin:0px;" bgcolor="#f5f5f5">
			<form id="frmLogin" AutoComplete=Off method="post" name="frmLogin">
				<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="250" border="0">
					<TR>
						<TD bgColor="#f5f5f5">
							<TABLE id="Table2" cellSpacing="0" cellPadding="0" width="100%" border="0">
								<TR>
									<TD width="100%" height="5"></TD>
								</TR>
								<TR>
									<TD width="100%">
										<!--IMG height="26" alt="" src="/novoportal/Images/redecard/tit_cadastrados.gif" width="281" border="0"-->
										<IMG     >
									&lt;/TD&gt;
								&lt;/TR&gt;
								&lt;TR&gt;
									&lt;TD width="100%" height="3"&gt;&lt;/TD&gt;
								&lt;/TR&gt;
								&lt;TR&gt;
									&lt;TD width="100%"&gt;
										&lt;TABLE id="Table3" cellSpacing="0" cellPadding="0" width="100%" border="0"&gt;
											&lt;TR&gt;
												&lt;TD align="right" width="144"&gt;&lt;span class="Verdana11"&gt;Grupo de Entidade&lt;/SPAN&gt;&lt;/TD&gt;
												&lt;TD width="3"&gt;&lt;/TD&gt;
												&lt;TD width="144"&gt;
														&lt;SELECT class="Verdana11" id="txtGrupoEntidade" name="txtGrupoEntidade" onChange="javaScript:MudaEstab(this);"&gt;
														&lt;option value="3" selected&gt;Emissores&lt;/option&gt;
														&lt;option value="4"&gt;Distribuidores&lt;/option&gt;
														&lt;option value="5"&gt;Funcion&aacute;rios&lt;/OPTION&gt;
														&lt;option value="6"&gt;Bancos SPB&lt;/OPTION&gt;
														&lt;option value="7"&gt;Exclusivo Voucher&lt;/OPTION&gt;
														&lt;option value="8"&gt;Bandeiras&lt;/OPTION&gt;
														&lt;option value="9"&gt;EPS&lt;/OPTION&gt;
														&lt;option value="10"&gt;Filiais Redecard&lt;/OPTION&gt;
														&lt;option value="12"&gt;Parceiros&lt;/OPTION&gt;
														&lt;option value="13"&gt;EPS Log&iacute;stica&lt;/OPTION&gt;	
														&lt;/SELECT&gt;
													<BR> 
													&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD width="100%" colSpan="3" height="3"&gt;&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD align="right" width="144"&gt;&lt;SPAN class="Verdana11"&gt;&lt;div id="divEstab" class="Verdana11"&gt;N&ordm; do Estabelecimento&lt;/div&gt;&lt;/SPAN&gt;&lt;/TD&gt;
												&lt;TD width="3"&gt;&lt;/TD&gt;
												&lt;TD width="144"&gt;&lt;div id="divTableEstab"&gt;
														&lt;select style="width:120px;" name="cboBandeiras" class="Verdana11" onchange="javaScript:MudaBandeira(this);"&gt;
															&lt;option value="" selected&gt;&lt;/option&gt;
															&lt;option value="2"&gt;MasterCard&lt;/option&gt;
															&lt;option value="3"&gt;Diners&lt;/option&gt;
														&lt;/select&gt;&lt;input type=hidden name=txtEstabelecimento value=&gt;&lt;input type="Text" class="Verdana11" style="width:120px;" id="txtnu_pdv" name="txtnu_pdv"&gt;&lt;/div&gt;
												&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD width="100%" colSpan="3" height="3"&gt;&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD align="right" width="144"&gt;&lt;SPAN class="Verdana11"&gt;&lt;div id="divUsuario"&gt;Usu&aacute;rio&lt;/div&gt;&lt;/SPAN&gt;&lt;/TD&gt;
												&lt;TD width="3"&gt;&lt;/TD&gt;
												&lt;TD width="144"&gt;
													&lt;input type="text" class="Verdana11" id="txtUsuario" name="txtUsuario" width="120px"&gt;&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD width="100%" colSpan="3" height="3"&gt;&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD align="right" width="144"&gt;&lt;SPAN class="Verdana11"&gt;Senha&lt;/SPAN&gt;&lt;/TD&gt;
												&lt;TD width="3"&gt;&lt;/TD&gt;
												&lt;TD width="144"&gt;
													&lt;input type="password" class="Verdana11" id="txtCiteWeb" name="txtCiteWeb" width="120px"&gt;&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD width="100%" colSpan="3" height="5"&gt;&lt;/TD&gt;
											&lt;/TR&gt;
											&lt;TR&gt;
												&lt;TD width="100%" colSpan="3"&gt;
													&lt;TABLE id="Table4" cellSpacing="0" cellPadding="0" width="100%" border="0"&gt;
														&lt;TR&gt;
															&lt;TD width="1" bgColor="#f5f5f5"&gt;&lt;/TD&gt;
															&lt;TD width="9"&gt;&lt;/TD&gt;
															&lt;TD width="109"&gt;&lt;!--&lt;a class="Verdana11" href="#" onclick="JavaScript:window.parent.location = '/novoportal/site/3705/default.aspx'"&gt;Esqueceu o Usu&aacute;rio&lt;/A&gt;--&gt;&lt;/TD&gt;
															&lt;TD align="center" width="10"&gt;&lt;SPAN class="Verdana11"&gt;&lt;!--|--&gt;&lt;/SPAN&gt;&lt;/TD&gt;
															&lt;TD width="109"&gt;&lt;!--&lt;a class="Verdana11" href="#" onclick="JavaScript:window.parent.location = '/novoportal/site/3704/default.aspx'"&gt;Esqueceu a Senha&lt;/A&gt;--&gt;&lt;/TD&gt;
															&lt;TD align="right" width="30"&gt;
																&lt;!--a href="javascript:BotaoOk()"&gt;&lt;img src="/novoportal/images/enabled/middle.gif" id="loginBtn" NAME="loginBtn"&gt;&lt;/a--&gt;
																<a ><img   ></a>
															&lt;/TD&gt;
															&lt;TD width="10"&gt;&lt;/TD&gt;
														&lt;/TR&gt;
													&lt;/TABLE&gt;
												&lt;/TD&gt;
											&lt;/TR&gt;
										&lt;/TABLE&gt;
									&lt;/TD&gt;
								&lt;/TR&gt;
							&lt;/TABLE&gt;
						&lt;/TD&gt;
					&lt;/TR&gt;
				&lt;/TABLE&gt;
				&lt;input type=hidden name="token" value="" id="token"&gt;
				&lt;input type=hidden name="sID" value="" id="sID"&gt;
				&lt;input type=hidden name="pagina" value="" id="pagina"&gt;
				&lt;input type=hidden name="tabID" value="3623" id="tabID"&gt;
				&lt;INPUT TYPE="HIDDEN" NAME="txtopcao"&gt;
			&lt;/form&gt;
		&lt;script language="javascript"&gt;
	 		//Obriga a execução da função quando a página for carregada
	 		MudaEstab(document.frmLogin.txtGrupoEntidade);
	 		//window.resizeTo(309,264)
	 		//alert(document.body.offsetWidth)
	 		//alert(document.body.offsetHeight)
		&lt;/script&gt;
		&lt;/body&gt;
	&lt;/HTML&gt;
lucasirc

entao,

pega o codigo que voce colou e grava em um arquivo teste.html e abre pra você ver a tela de resultado…

voce nao conseguiu logar por que tem que passar todos os parâmetros do form
não são só txtnu_pdv, txtGrupoEntidade e txtUsuario apenas

OBS: acho que o tópico pode ser colocado como resolvido… você já consegue acessar a pagina e pegar conteúdo, (não entenda mal) mas ensinar como logar no site acho que infringe regras do fórum ou sei la o que

abraços e boa sorte

snowblacksoul

Não lucasirc

Ele não loga!
Pois estou passando todos os parametros
no código que passei ficou faltando apenas um parametro que coloquei aqui e não logou!!
não tem como logar!!!
se puder me ajudar blz!!

snowblacksoul

alguém pode me ajudar nisso

WellingtonRamos

Tem como sim, porém você ficará a mercê de uma alteração na página que pode implicar em sua aplicação tornar-se indisponível (tanto temporariamente, quanto ter que reescrevê-la).

Se não me engano, procure por HTML Parser ou Scanner.

WellingtonRamos

Tem como sim, porém você ficará a mercê de uma alteração na página que pode implicar em sua aplicação tornar-se indisponível (tanto temporariamente, quanto ter que reescrevê-la).

Se não me engano, procure por HTML Parser ou Scanner.

Criado 22 de março de 2013
Ultima resposta 22 de mar. de 2013
Respostas 10
Participantes 4