• Publicidad

Duda con código Java

Todo lo relacionado con lenguajes de programación distintos de Perl: PHP, Java, C++, Ruby, Python, etc.

Duda con código Java

Notapor BigBear » 2013-01-05 18:40 @819

Ten el siguiente código :

Sintáxis: [ Descargar ] [ Ocultar ]
Using java Syntax Highlighting
  1. //LocateIP 0.1
  2. //Coded By Doddy H
  3.  
  4. package locateip;
  5.  
  6. import java.util.Scanner;
  7. import java.net.*;
  8. import java.io.*;
  9.  
  10. import java.util.regex.Matcher;
  11. import java.util.regex.Pattern;
  12.  
  13. public class Main {
  14.  
  15. public static void main(String[] args) throws Exception {
  16.  
  17. String ip;
  18. Scanner host = new Scanner(System.in);
  19. System.out.println("\n\n-- == LocateIP 0.1 == --\n\n");
  20. System.out.println("[+] IP : ");
  21. ip = host.nextLine();
  22.  
  23. String code;
  24.  
  25. code = toma("http://www.melissadata.com/lookups/iplocation.asp?ipaddress="+ip);
  26.  
  27. Pattern uno= null;
  28. Matcher dos= null;
  29.  
  30. uno = Pattern.compile("City</td><td align=(.*?)><b>(.*?)</b></td>");
  31. dos = uno.matcher(code);
  32.  
  33. if(!dos.find()) {
  34. System.out.println("[+] City : Not Found");
  35. } else {
  36. System.out.println("[+] City : "+dos.group(2));
  37. }
  38.  
  39. uno = Pattern.compile("Country</td><td align=(.*?)><b>(.*?)</b></td>");
  40. dos = uno.matcher(code);
  41.  
  42. if(!dos.find()) {
  43. System.out.println("[+] Country : Not Found");
  44. } else {
  45. System.out.println("[+] Country : "+dos.group(2));
  46. }
  47.  
  48. uno = Pattern.compile("State or Region</td><td align=(.*?)><b>(.*?)</b></td>");
  49. dos = uno.matcher(code);
  50.  
  51. if(!dos.find()) {
  52. System.out.println("[+] State or Region : Not Found");
  53. } else {
  54. System.out.println("[+] State or Region : "+dos.group(2));
  55. }
  56.  
  57. code = toma("http://www.ip-adress.com/reverse_ip/");
  58.  
  59. //uno = Pattern.compile("whois/(.*?)">Whois");
  60. //dos = uno.matcher(code);
  61.  
  62. System.out.println("\n\n-- == Coded By Doddy H == --");
  63.  
  64. }
  65.  
  66. private static String toma(String url) throws Exception {
  67.  
  68. String re;
  69. String total;
  70.  
  71. StringBuffer conte = new StringBuffer(40);
  72.  
  73. URL cargar = new URL(url);
  74. BufferedReader nave = new BufferedReader(
  75. new InputStreamReader(cargar.openStream()));
  76.  
  77. while ((re = nave.readLine()) != null)
  78.  conte.append(re);
  79.  
  80. nave.close();
  81.  
  82. return conte.toString();
  83.  
  84. }
  85.  
  86. }
  87.  
  88. // The End ?
Coloreado en 0.013 segundos, usando GeSHi 1.0.8.4


Y me tira el siguiente error :

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.ip-adress.com/reverse_ip/
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
        at java.net.URL.openStream(URL.java:1010)
        at locateip.Main.toma(Main.java:74)
        at locateip.Main.main(Main.java:57)
Java Result: 1
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿ Alguien me podría indicar cómo arreglo el código ?
Última edición por explorer el 2013-01-05 18:47 @824, editado 1 vez en total
Razón: Tíldes y desactivar URL automáticas
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Duda con código Java

Notapor explorer » 2013-01-05 18:54 @829

El error 403 es la respuesta HTTP de tu intento de solicitud de obtención del recurso.

Y ese código significa:

La solicitud fue legal, pero el servidor se rehúsa a responderla.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con código Java

Notapor BigBear » 2013-01-05 19:37 @859

Pero con Perl, Python y Ruby no tengo problemas con esa página.

¿ Qué puedo hacer en Java ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda con código Java

Notapor explorer » 2013-01-05 19:41 @862

Seguramente el servidor te estará bloqueando el acceso a la página al examinar la cadena que representa al cliente que hace la petición HTTP. Al ver que se trata de una biblioteca Java, impide el acceso. Lo mismo pasa en muchos sitios, cuando intentas acceder con la biblioteca LWP de Perl.

La solución es la de siempre: falsear la cadena haciendo como que se está conectando el Mozilla Firefox o el Internet Explorer.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con código Java

Notapor BigBear » 2013-01-05 19:57 @873

Parece que lo solucioné, acabo de encontrar este código que sí funciona.

Sintáxis: [ Descargar ] [ Ocultar ]
Using java Syntax Highlighting
  1.                URL url = new URL("http://www.ip-adress.com/reverse_ip/");
  2.        URLConnection hc = url.openConnection();
  3.         hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
  4.  
  5.         System.out.println(hc.getInputStream());
  6.  
  7.  
  8.         BufferedReader nave = new BufferedReader(
  9. new InputStreamReader(hc.getInputStream()));
  10.  
  11.  
  12.         while ((re = nave.readLine()) != null)
  13.         System.out.println(re);
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda con código Java

Notapor explorer » 2013-01-05 22:26 @976

Funciona porque hace lo que te dije antes: modifica la cadena que se envía al servidor que identifica al agente (User-Agent). Algo que se hace en muchos códigos que hay por estos foros, incluidos muchos tuyos ;)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con código Java

Notapor BigBear » 2013-01-05 23:07 @005

Yo sí seguí tu consejo, de hecho encontré el código buscando en Google "user agent java get content".
Parte de mí sabía que el error venía del User agent, pero como no entiendo casi nada de Java, no sabía por dónde empezar :D
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a Programación en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados