Aaueba!,
Hoje vou apresentar para vocês como criar um projeto para fazer a leitura de processos jurídicos no sistema de automação da justiça o SAJ. Este é um projeto bem simples, mas que pode servir como um norte para quem estiver precisando fazer algo parecido.
Bem, as ferramentas que iremos utilizar são:
1) Visual Studio com suporte ao framework 4.0 para escrever o programa em C#, o download da ultima versao pode ser obtido no site da Microsoft ou clicando aqui.
2) Fiddler para depurarmos as requisições web e o download pode ser obtido no site da Telrik ou clicando aqui. Em breve irei publicar um post explicando detalhadamente como utilizar este aplicativo embora não tem muito segredo.
3) E por ultimo a DLL do Html Agility Pack para nos auxiliar na consulta do html retornado das paginas requisitadas, você pode fazer o download clicando aqui.

Depois de instalado as ferramentas, vamos criar um novo projeto do tipo Windows Form Application no Visual Studio e vamos dar o nome de WallE.
O seu projeto no Visual Studio devera estar parecido como na figura ao lado.
Feito isto vamos adicionar um nova classe ao projeto e vamos dar o nome de Automacao.
Com a classe criada, e o control + c no gatilho, substitua o código da classe pelo listado abaixo:
namespace WallE
{
using System;
using System.Net;
public class Automacao : WebClient
{
private readonly CookieContainer _container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address) {
var requisicao = base.GetWebRequest(address) as HttpWebRequest;
if (requisicao != null) {
requisicao.Method = "Post";
requisicao.CookieContainer = _container;
}
return requisicao;
}
}
}
Note que a nossa classe esta herdando da classe WebClient e sobrescrevendo o método GetWebRequest, isto é necessário para que possamos armazenar os cookies de cada requisição.
Agora vamos abrir o programa Fiddler e configura-lo para monitorar as requisições web, as opções deverão estar igual a imagem ao lado, depois de configurado vamos acessar o site do SAJ ( https://esaj.tjsp.jus.br ) e você vai observar que o fiddler começara a monitorar a sua navegação pelo site e as urls acessadas poderão ser visualizadas no painel esquerdo do fiddler. Se até agora foi tudo bem então vamos criar os métodos para que a nossa automação possa acessar o site.
Abra o "Form1" que foi criando juntamente com o nosso projeto e adicione um botão, vamos chamar este botão de btnProcessar, depois clique duas vezes sobre ele para gerar o evento click. Neste mesmo Form1, adicione as variáveis globais exibidas no código abaixo:
Agora crie um método chamado ConsultarParteProcesso e substitua-o com o código abaixo.
Agora vamos abrir o programa Fiddler e configura-lo para monitorar as requisições web, as opções deverão estar igual a imagem ao lado, depois de configurado vamos acessar o site do SAJ ( https://esaj.tjsp.jus.br ) e você vai observar que o fiddler começara a monitorar a sua navegação pelo site e as urls acessadas poderão ser visualizadas no painel esquerdo do fiddler. Se até agora foi tudo bem então vamos criar os métodos para que a nossa automação possa acessar o site.Abra o "Form1" que foi criando juntamente com o nosso projeto e adicione um botão, vamos chamar este botão de btnProcessar, depois clique duas vezes sobre ele para gerar o evento click. Neste mesmo Form1, adicione as variáveis globais exibidas no código abaixo:
private const string CodigoForo = "11";
// Vamos ver se o prefeito de São Paulo tem processos nas costas.
private const string NomeParte = "Fernando Haddad";
private const string UrlESaj = "http://esaj.tjsp.jus.br/";
private Automacao _automacao;
Agora crie um método chamado ConsultarParteProcesso e substitua-o com o código abaixo.
private string ConsultarParteProcesso() {
_automacao = new Automacao();
_automacao.Headers.Add("user-agent",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.0.3705; .NET4.0C; .NET4.0E)");
var parametros = new List {
"cbPesquisa=NMPARTE",
"conversationId=",
"dePesquisaNuAntigo=",
"dePesquisaNuUnificado=",
"foroNumeroUnificado=",
"localPesquisa.cdLocal=" + CodigoForo,
"numeroDigitoAnoUnificado=",
"paginaConsulta=1",
"tipoNuProcesso=UNIFICADO",
"dePesquisa=" + NomeParte
};
return _automacao.DownloadString(string.Format("{0}cpo/pg/search.do?{1}",
UrlESaj,
string.Join(",", parametros.ToArray()).Replace(",", "&")));
}
E por fim substitua o evento click do botão btnProcessar pelo código abaixo:
private void btnProcessar_Click(object sender, EventArgs e) {
try {
string pagina = ConsultarParteProcesso();
if (pagina.Contains("Não existem Informações disponíveis para os parâmetros informados."))
MessageBox.Show(@"Olha que beleza! O camarada nunca foi processado neste forum.");
}
catch (WebException we) {
Console.WriteLine(we.Message + @"\n" + we.Status.ToString());
}
}
CONTINUA...
Fala ai Elias... Olhei o código, mas to na roça kkk é em C# não connheço kkk,
ResponderExcluirQue porra eh essa de Rafael Gostoso?! kkkk é o Luis Abreu que está escrevendo hahahaha
ResponderExcluir