点网中python的“urllib2”等价物是什么?

时间:2009-07-31 09:54:12

标签: c# bots

我是python的新手。我想在c#中构建一个bot。我可以在点网中使用这个“urllib2”,还是在dot net中有任何替代方案?请帮忙......

3 个答案:

答案 0 :(得分:4)

大多数等效功能都在System.Web命名空间中:

  

System.Web命名空间提供了启用浏览器 - 服务器通信的类和接口。该命名空间包括HttpRequest类,它提供有关当前HTTP请求的大量信息; HttpResponse类,它管理客户端的HTTP输出;和HttpServerUtility类,它提供对服务器端实用程序和进程的访问。 System.Web还包括用于cookie操作,文件传输,异常信息和输出缓存控制的类。

urlopen的近亲是System.Net.Webclient类:

  

提供向URI标识的资源发送数据和从中接收数据的常用方法。

using System;
using System.Net;
using System.IO;

public class Test
{
    public static void Main (string[] args)
    {
        if (args == null || args.Length == 0)
        {
            throw new ApplicationException ("Specify the URI of the resource to retrieve.");
        }
        WebClient client = new WebClient ();

        // Add a user agent header in case the 
        // requested URI contains a query.

        client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

        Stream data = client.OpenRead (args[0]);
        StreamReader reader = new StreamReader (data);
        string s = reader.ReadToEnd ();
        Console.WriteLine (s);
        data.Close ();
        reader.Close ();
    }
}

答案 1 :(得分:2)

考虑使用HttpRequest和/或WebClient。或者,您可能需要使用sockets。这取决于你想要建立什么样的机器人。

此外,还有一个名为IronPython的.NET的python实现。这也可以使用标准的python库和.NET框架。


另一方面,我建议你在之后选择正确的语言/框架,你发现了你想做的事情并观察了替代方案,而不是在此之前。

答案 2 :(得分:0)