• Publicidad

Mechanize error Can't connect to XXX conection timeout

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Mechanize error Can't connect to XXX conection timeout

Notapor danimera » 2016-05-12 09:01 @417

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use WWW::Mechanize;
  2.  my $mech = WWW::Mechanize->new();
  3.  $mech->get( "http://kreatibox.com:2086/" );
  4.  
  5.  response is: Error GETing http://kreatibox.com:2086/: Can't connect to kreatibox.com:2086 connection timeout
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4

Ese código de arriba me funciona muy bien en mi local y en un servidor de prueba, pero hay otro servidor que no funciona y no sé la razón. La respuesta del soporte fue:
Please note that we cannot enable the port 9443 on the server. You need to find some other way to connect to your source.

Yo necesito consumir unos webservices y todos apuntan a puertos, pero no entiendo por qué no puedo hacer un mech get a una URL que contenga un puerto desde ese servidor.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Mechanize error Can't connect to XXX conection timeout

Notapor explorer » 2016-05-12 16:11 @716

Quizás ese servidor, aunque pueda estar escuchando en esos puertos, tenga delante un cortafuegos que impida acceder a ellos.

Si quieres conectarte a un servidor, a un determinado puerto, tienes que avisar al administrador de la máquina para que lo permita (configurar el cortafuegos de la propia máquina), avisar al administrador del sistema (configurar el servicio que quedará escuchando en ese puerto) y al administrador de red (para que permita acceder al puerto de la máquina desde fuera).
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: Mechanize error Can't connect to XXX conection timeout

Notapor danimera » 2016-05-13 05:23 @266

Gracias, explorer, quizás no formulé bien la pregunta.

El servidor que tiene los webservices tiene los puertos abiertos. Es más: este es un servicio REST que quiero consumir y que me funciona perfecto: http://monitec.com:3333/monitec-rest-ap ... lCountries

Pero hay un servidor desde donde llamo el script que consume ese WS y solo cuando hago la petición desde ese servidor me sale el error connection time out. Ahora, yo no creo que tenga que abrir el puerto 3333 en ese servidor si mi webservice no está en ese servidor si no que está en otro. El problema está en la máquina que hace la petición del webservice.

No sé cómo pedir al soporte que me solucione este problema.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Mechanize error Can't connect to XXX conection timeout

Notapor explorer » 2016-05-13 15:19 @679

Bueno, pues si el servidor tiene abiertos sus puertos, no tiene prohibido el acceso desde el ordenador cliente, y el ordenador cliente no tiene prohibido acceder al servidor, todo debería funcionar.

Yo he hecho varias pruebas... y he notado que las primeras pruebas iban muy, muy lentas. Casi me ha saltado un timeout en la primera petición. Pero luego, las siguientes ha funcionado muy bien.

Parece que puede ser una limitación del servidor, que tenga algo de retraso al principio. Da la sensación de que se trata de un sistema con recursos limitados, algo así como una máquina virtual.

Podría ser, también, que nuestra petición, en la cabecera HTTP donde se indica el cliente que hace la petición, vea que se trata de un cliente lwp (en Perl 5, por ejemplo), y eso provoque la denegación de servicio. Esto sigue ocurriendo en muchos servidores, que prohíben cualquier acceso directo a scripts Perl. Si hechas un vistazo a alguno de los programas publicados aquí por Doddy, veras que él siempre falsea el nombre del cliente, para que el servidor se crea que la petición llega de un cliente HTTP normal, no de un script.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/env perl6
  2. use HTTP::Client;
  3. use JSON::Tiny;
  4.  
  5. my $client = HTTP::Client.new;
  6. my $response = $client.get('http://monitec.com:3333/monitec-rest-api-1.1-RC1/api/common/getAllCountries');
  7. if ($response.success) {
  8.     my @registros = from-json($response.content);
  9.  
  10.     for @registros -> %registro {
  11.         say "Código: {%registro<code>}, Nombre: {%registro<name>}";
  12.     }
  13. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Resultado:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Código: DE, Nombre: Alemania
Código: AR, Nombre: Argentina
Código: BO, Nombre: Bolivia
Código: BR, Nombre: Brasil
Código: CL, Nombre: Chile
Código: CO, Nombre: Colombia
Código: CR, Nombre: Costa Rica
Código: SV, Nombre: El Salvador
Código: GU, Nombre: Guatemala
Código: MX, Nombre: Mexico
Código: PA, Nombre: Panama
Código: S1, Nombre: Pruebas Sayco
Código: DO, Nombre: Republica Dominicana
Código: TK, Nombre: Turquia
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
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: Mechanize error Can't connect to XXX conection timeout

Notapor danimera » 2016-05-14 18:32 @814

Gracias, explorer, pero,

aún no me queda claro, definitivamente el servidor donde están los servicios web está bien.

El problema es el que los consume. ¿Podría darse el caso de que mi computador cliente prohibiera las salidas al servidor?

Ya que estaba probando con otro cliente y de un momento a otro me empezó a dar el mismo problema de timeout...
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Mechanize error Can't connect to XXX conection timeout

Notapor explorer » 2016-05-15 12:57 @581

Sí que es posible, si tuviera instalado algún tipo de cortafuegos.

Pero no es lo normal, el filtrar conexiones hacia el exterior. Lo normal es filtrar solo lo que llega del exterior.

No sé... es muy raro. En alguna parte de la cadena de conexiones entre el ordenador cliente y el servidor, está el problema.

Ya te digo que a mi me resultó sospechosa la primera conexión que hice, que tardó muchísimo. Ahora lo hace en menos de 4 segundos, pero la primera vez se tiró más de 20.

Lo que podrías hacer es... aumentar el timeout del Mechanize.
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


Volver a Módulos

¿Quién está conectado?

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