使用.Net WebRequest对象的Http WebService

时间:2012-02-08 20:41:14

标签: c# .net web-services function webrequest

我想尝试使用.Net中的WebRequest对象访问HTTP Web服务。 HTTP Web服务上公开了不同的方法,我不想复制用于创建Webrequest和Response对象的代码。有没有办法可以做到?我发布下面的示例代码。

 WebRequest request = WebRequest.Create("url");
        NetworkCredential myCred = new NetworkCredential("username", "pwd");
        request.Credentials = myCred;
        request.PreAuthenticate = true;

        // Get the response.
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        // Display the status.
        Console.WriteLine(response.StatusDescription);
        // Get the stream containing content returned by the server.
        Stream dataStream = response.GetResponseStream();
        // Open the stream using a StreamReader for easy access.
        StreamReader reader = new StreamReader(dataStream);
        // Read the content.
        string responseFromServer = reader.ReadToEnd();

        reader.Close();
        dataStream.Close();
        response.Close();

我在想是否创建一个函数,它将通过传递uri创建Request并根据请求返回一个响应对象。这是正确的方法吗?我也不想每次都通过凭证。有可能吗?

对某些资源的任何帮助或引用都会有所帮助。感谢。

2 个答案:

答案 0 :(得分:1)

看看Hammock,

https://github.com/danielcrenna/hammock

它非常易于使用,您可以将其安装为Nuget包。

答案 1 :(得分:0)

如果您使用的是Visual Studio,请让Visual Studio从Web服务创建所有客户端类。您正在连接到Web服务,而不是“Web服务器”。在Web服务示例中,您需要额外的信息,例如需要使用从“Web服务”读取该信息的工具创建的类和类型。如果您要连接到网站,请使用httpwebrequest并下载http。

  1. 网络服务 它需要创建类并调用类
  2. 创建项目,在服务地址中选择“添加服务引用”类型,然后单击“创建”

    1. 网络服务器 您可以使用httpwebrequest从网站下载HTML代码。