C#で "生の" HTTPクライアントを作成しようとしています。あなたはなぜ?"raw" HTTPクライアントをC#で書く
私の目的は、HTTPクライアントをJ2ME(これはGETと限られたPOSTしかできません)で実装することですが、まずはHTTPプロトコルをよりよく理解する必要があります。
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));
ソケットが開きますが、その後のブロックがコールを受信:
私の最初の試みは失敗しています。数秒後、リモートホストは接続を閉じます。
アイデア?
puTTYでRAWモードを使用して接続しようとすると同じことが起こります。
コードは正常に動作しています...新しいコンソールアプリケーションにコピーして貼り付けただけで100%機能しました。他の問題(ネットワークなど)がある可能性があります。 –
ティモシーに感謝します。私の問題は、私がプロキシサーバーの背後にいることだと思います。もう一度自分自身をテストします... – Ries
私にはカットアンドペーストできます。 – divinci