Saludos estoy estudiando algo de sockets en C/C++ utilizando la libreria "winsock2.h" creo un socket.
El mensaje que le envio al servidor es el siguiente:
GET / HTTP/1.1\r\n\r\n
Y esta es la informacion recibida
Reply received
HTTP/1.1 400 Bad Request
Date: Mon, 01 Aug 2016 21:31:50 GMT
Server: Apache/2.4.10 (Debian)
Content-Length: 311
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.10 (Debian) Server Port 80</address>
Mi duda esta en el protocolo de transferencia HTTP he leido sobre los metodos de Peticion
y he intentado el get
GET /folder1/lweb/index.html HTTP/1.1
pero no consigo obtener la info del index.
como podria en si manipular el HTTP para comunicarme con el servidor?
de antemano gracias.
A pesar de que es un request correcto según las especificaciones rfc7230 (https://tools.ietf.org/html/rfc7230#section-5.3) algunos servidores lo rechazan. Puedes probar agregando el header "Host" con el nombre del dominio:
GET / HTTP/1.1\r\nHost: host:port\r\n\r\n
Si obtienes un código de estado 301, es posible que el servidor al que consultas utilice SSL, con lo cual el servidor quizás no pueda brindarte el contenido que deseas si no es a través de ese medio.
Saludos
gracias