3

我是python新手。我想用 C# 构建一个机器人。我可以在 dot net 中使用这个“urllib2”还是在 dot net 中有任何替代方法?请帮忙...

4

3 回答 3

4

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

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

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

提供用于向由 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 ();
    }
}
于 2009-07-31T10:14:55.297 回答
2

考虑使用HttpRequest和/或WebClient。或者,您可能需要使用套接字。这取决于您要构建什么样的机器人。

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


在旁注中,我建议您在找到您想要做的事情并观察替代方案之后选择正确的语言/框架,而不是在那之前。

于 2009-07-31T10:09:17.400 回答
0

http://curl.haxx.se/libcurl/dotnet/也可以提供帮助。

于 2009-07-31T10:12:17.207 回答