package socket;
import java.net.*;
import java.io.*;
import java.util.*;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/
public class Listener {
public Listener() {
try{
ServerSocket s = new ServerSocket(90);
Socket s0 = s.accept() ;
BufferedReader br = new BufferedReader(new InputStreamReader(s0.getInputStream()));
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(s0.getOutputStream()));
String command = br.readLine();
System.out.println(command);
StringTokenizer tok = new StringTokenizer(command, " ");
while(tok.hasMoreElements()){
String t = (String)tok.nextElement();
if (t.startsWith("htt")){
URL url = new URL(t);
URLConnection conn = url.openConnection();
BufferedReader pb = new BufferedReader(new InputStreamReader((InputStream)conn.getContent()));
String line = null;
do{
line = pb.readLine();
if (line == null) break;
System.out.println(line);
wr.write(line);
}while(line !=null);
}
}
} catch (IOException ex){
ex.printStackTrace();
}
}
public static void main(String [] args){
new Listener();
}
}
Ae, no IE vc seta o proxi para porta 90 e lah vai.
Renato Java wrote:
[EMAIL PROTECTED]">Tudo bem pessoal?
Tenho o seguinte problema: preciso fazer um
programa em Java que fique executando (pode
ser como serviço do windows ou mesmo em background),
e qdo o usuário abrir o browser (supondo somente o
IE), eu consiga capturar todos seus acessos para
gravar
num log.
Ex.: log.txt
horIn horFin Duração Site
----- ------ ------- ------------------------
8:00 8:15 00:15 http://www.uol.com.br/
8:15 8:25 00:10 http://www.uol.com.br/bibliot/
8:25 9:00 00:35 http://agencia.folha.com.br/
Preciso desenvolver um programa para fazer esse
log e não posso utilizar nenhum programa pronto.
Tentei fazer algumas coisas utilizando
o pac ote java.net, mas não obtive sucesso. Vejo
dois grandes problemas para conseguir uma solução:
obter os dados do browser a partir do meu programa
(não vejo como fazer essa ponte de comunicação), e
monitorar dinamicamente todas as mudanças de URL.
O programa deve funcionar tanto para conexão em
internet como intranet. Não preciso gravar nenhum
nome específico de usuário.
Desculpem se o exemplo não ficou muito claro, mas
é exatamente o q preciso como resultado no arquivo
de log.
Estou há meses tentando uma solução, se alguém puder
me dar pelo menos o caminho das pedras, ficarei
muito grato.
Agradecendo antecipadamente,
Renato.
p.s.: estou enviando um arquivo do que eu tentei
utilizando o pacote java.net. Este exemplo funciona
mas ainda não é o q preciso (é só execut ar
com "java GetFile", depois de compilar -claro :-) -
e ter uma url válida dentro do GetFile.java).
_______________________________________________________________________________________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. É fácil e grátis!
http://br.geocities.yahoo.com/
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
Part 1.1
Content-Type:text/plain Content-Encoding:8bit
GetFile.java
Content-Description:GetFile.java Content-Type:X-unknown/attachment Content-Encoding:base64
Teste.html
Content-Description:Teste.html Content-Type:text/html
Part 1.4
Content-Type:text/plain Content-Encoding:Quoted-printable
