no se puede conectar al servidor web a través de arduino

Tengo el siguiente problema y no puedo encontrar la manera de solucionarlo. Actualmente estoy trabajando en un prototipo para mi tesis. Para este prototipo necesito mi Arduino para conectarme a internet. Tengo un Arduino Uno y un Arduino Ethernet Shield.

El problema es que no puedo conectarme al servidor web de mi empresa donde actualmente estoy haciendo una pasantía.

El servidor web tiene una IP diferente a la LAN en la que estoy trabajando. Cuando escribo en mi ventana de comandos ipconfig /all obtengo la siguiente información:

Dirección MAC: 64-31-50-25-FE-C7

Dirección IPv4: 10.100.5.144

máscara de subred: 255.255.248.0

puerta de enlace: 10.100.0.1

La dirección IP donde está instalado el servidor web es: 10.100.0.40.

Cuando solicito una página con GET y quiero obtener el archivo index.html que está almacenado en mi carpeta www del servidor web (ver más abajo), aparece el error 404.

\efocus02\www\evs\navid\navid.mirzaie.milani\webroot

Esta es la URL que solicito: http://navid.mirzaie.milani.navid.efocus02.efocus.local/test.html

¿Hay alguien que pueda ayudarme a resolver este problema? Realmente lo agradecería.

Dice que necesita index.html , pero la URL de solicitud es para test.html . Además, ¿intentó acceder al servidor por IP, como: 10.100.0.40/index.html ?
@DimKo en ip 10.100.0.40 instalaron un drupal, así que cuando solicito esa IP obtengo una salida HTML de index.html, pero quiero acceder a mi carpeta y obtener la información de test.htm.
Estás en el rango de IP incorrecto. El servidor web está en 10.100.0.40 y tu arduino es 10.100. 5 .144 . No hay ruta al dispositivo. Si tiene Internet, solicítelo desde Internet en lugar de hacerlo internamente.
No es una pregunta de electrónica. Probablemente estará cerrado.

Respuestas (1)

Como está recibiendo un error 404, el Arduino debe estar correctamente conectado a la red y poder acceder al servidor web.

(Mi mejor suposición, dada la información limitada, es que el servidor web está utilizando alojamiento virtual y su Arduino no está enviando un encabezado HTTP "Host:").

Para depurar el problema, debe ver qué sucede a nivel de red. O bien, agregue la depuración a su biblioteca Arduino HTTP o husmee la red con una PC.

Recomiendo usar una PC. Use un concentrador de ethernet (no un conmutador) o comparta la conexión Arduino a través de una PC y luego ejecute WireShark para rastrear los paquetes de red. Comprueba que el Arduino realmente está solicitando la página que crees que es. Verifique los códigos de respuesta que regresan.

Vuelva a crear la solicitud HTTP en una PC, envíe exactamente los mismos datos: ¿obtiene la misma respuesta 404? Puede hacerlo con telnet o con una herramienta más poderosa como curl o wget.

Jeffrey, el principal problema es que no puedo conectarme al servidor web y no sé cómo lograrlo y realmente me duele la cabeza porque estoy ocupado con este problema durante muchas horas.
No necesita acceder al servidor web ni rastrear el tráfico. Puede instalar en una PC normal en la LAN un servidor web (XAMPP, por nombrar uno) y configurar arduino para obtener la página de esa PC. Verás en el registro lo que realmente está preguntando arduino. Estoy de acuerdo con la mejor suposición de Toby: falta el encabezado http del host.
@Axeman acabo de instalar wamp en mi PC y su IP predeterminada es 127.0.0.1 cuando me conecto a esta IP a través de un código de ejemplo, no puedo ver nada cuando solicito 127.0.0.1 en mi navegador.
Escribí un blog en este sentido hace un tiempo: blog.wickeddevice.com/?p=245
Olvídate del Arduino. Solo obtén una Raspberry Pi. ¿Cuál es tu tesis sobre arrancar el cabello del estrés?
@vicatcu ya arreglé este problema, pero no desde el lado del servidor web, me dio dolor de cabeza. Lo que hice fue comprar un VPS de un proveedor de alojamiento, y ahora tengo 1 ip disponible y ahora puedo conectarme a ese vps y hacer lo que quiera.