套接字帮助和建议

本文关键字:帮助 套接字 | 更新日期: 2023-09-27 18:01:34

我正试图学习如何使用套接字进行web请求,但我正在努力在网上找到任何东西。我发现了很多使用套接字的"客户端"->"服务器"教程,但没有任何内容涉及web请求,抓取等。

我希望能够使用套接字开发多线程应用程序,因为我听说它们更容易使用

套接字帮助和建议

我正试图学习如何使用套接字来制作web请求,但我正在努力在网上找到任何东西。

如果web请求你指的是HTTP请求,那么使用套接字的级别太低了。我建议您使用WebClient或WebRequest来实现此目的。例如,下面是如何向google.com发送HTTP请求并获取结果HTML:

using System;
using System.Net;
class Program
{
    static void Main()
    {
        using (var client = new WebClient())
        {
            var result = client.DownloadString("http://www.google.com");
            Console.WriteLine(result);
        }
    }
}

更新:

根据评论部分的要求,这里有一个使用套接字学习的示例:

using System;
using System.IO;
using System.Net.Sockets;
class Program
{
    static void Main()
    {
        using (var client = new TcpClient("www.google.com", 80))
        using (var stream = client.GetStream())
        using (var writer = new StreamWriter(stream))
        using (var reader = new StreamReader(stream))
        {
            writer.Write(
@"GET / HTTP/1.1
Host: www.google.com
Connection: close
");
            writer.Flush();
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

免责声明:绝对不要在任何实际应用程序中编写这样的代码。