【问题标题】:httpRequest, httpResponse, send GET through Stream and Receive the Result in C#httpRequest,httpResponse,通过 Stream 发送 GET 并在 C# 中接收结果
【发布时间】:2011-01-08 08:40:18
【问题描述】:

这就是我想要做的:

  • 连接到 http 服务

  • 从这里,我需要获取一个 STREAM 来与之通信。

  • 现在,我发送 GET 请求,服务回答我。

  • 然后,在第一个 GET 请求和答案之后,我需要在每次服务向我发送内容时拦截。

我该怎么办?

我从昨天开始尝试使用 httRequest、httResponse、GetResponseStream 等,但无法正常工作:(

如何让流与发送 GET 请求的服务“对话”?

所有这些都适用于 NETCF 3.5。

非常感谢!

【问题讨论】:

    标签: c# windows-mobile stream httpwebrequest httpwebresponse


    【解决方案1】:

    这里是一个如何同步的示例

    WebRequest request = WebRequest.Create(url);
    request.Method = "GET";
    request.ContentType = "text/html";
    
    Stream reader = request.GetResponse().GetResponseStream();
    

    这里是一个异步示例

    ///........
    WebRequest request = WebRequest.Create(url);
    request.Method = "GET";
    request.ContentType = "text/html";
    
    IAsyncResult result = request.BeginGetResponse(RequestCallback, request);
    ///........
    
    private void RequestCallback(IAsyncResult ar)
    {
         var request = ar.AsyncState as WebRequest;
         Stream reader = request.EndGetResponse(ar).GetResponseStream();
         //use this reader to read the content
    }
    

    【讨论】:

    • 抱歉,我在哪里写 GET 请求?
    • 我不明白.. 我需要发送一个 GET 请求,服务器回答我,我需要确认接收另一个 GET 的答案。我认为为此我需要一个流来编写请求并等待答案。不?在您的示例中,我发送一个 GET 请求和服务器应答。但操作终于到了,我需要与服务器保持持续的通信。不可能?谢谢
    • 如果我理解正确这是不可能的(据我所知)你发送一个请求然后得到一个响应,如果你需要更多的沟通你发送另一个请求,我认为你不能有一个开放的双工通道(也许我错了)
    • 这应该可以工作:msdn.microsoft.com/en-en/library/… 但结果有很多不重要的数据..:(
    猜你喜欢
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2014-09-26
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多