J'essaye d'écrire un client HTTP "brut" en C#. Vous pouvez demander pourquoi?Ecriture d'un client HTTP "brut" en C#
Mon but est d'implémenter un client HTTP dans J2ME (qui ne peut faire que GET et POST limité), mais d'abord j'ai besoin de mieux comprendre le protocole HTTP (d'où la tentative C#).
Mes premières tentatives échouent:
var requestBytes = Encoding.UTF8.GetBytes(@"GET/HTTP/1.1
User-Agent: CSharp
Host: www.google.com
");
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect("www.google.com", 80);
socket.Send(requestBytes);
var responseBytes = new byte[socket.ReceiveBufferSize];
socket.Receive(responseBytes);
Console.Out.Write(Encoding.UTF8.GetString(responseBytes));
La prise ouvre, mais bloque alors à l'appel de réception. Après quelques secondes, l'hôte distant ferme la connexion.
Des idées? Il en va de même lorsque j'essaie de me connecter en utilisant le mode RAW dans puTTY.
Votre code fonctionne bien ... J'ai simplement copié et collé ce que vous avez dans une nouvelle application de console, et cela a fonctionné à 100%. Vous pourriez avoir d'autres problèmes (réseau, ou autre). –
merci Timothy. Je suppose que mon problème est que je suis derrière un serveur proxy. va tester à nouveau moi-même ... – Ries
couper et coller est bien pour moi. – divinci