C# 使用.Net WebRequest对象的Http WebService

C# 使用.Net WebRequest对象的Http WebService,c#,.net,web-services,function,webrequest,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"); reques

我想尝试使用.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来创建请求,并根据请求返回响应对象。这是正确的方法吗?我也不想每次都通过证书。可能吗

任何对某些资源的帮助或参考都会有所帮助。谢谢。

看看吊床


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

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

  • 网络服务 它需要创建类,然后调用该类
  • 创建一个项目,在服务地址中选择“添加服务引用”类型,然后单击“创建”

  • 网络服务器 您可以使用httpwebrequest从网站下载html代码

  • 我的错。我没有通过wsdl或类似的方式公开任何元数据。我只能通过URL来操作它。我认为只有通过HttpwebRequest才能做到这一点,HttpwebRequest是一个像人类一样的网站。我不太确定用户名和密码。它将返回网页的大量html代码。没有WSDL信息,您无法使用web服务。这是一种计算机交互。Web服务返回WSDL中的计算机语言代码,客户端使用工具重新创建该代码(您不能手动创建代码),客户端使用Web服务提供的类。这是完全不同的。Web服务需要有WSDL、SOAP信息。HTTPwebrequest只适用于网站。