我正在尝试使用.NET WebRequest/WebResponse类来访问Twitter的流API,地址为"http://stream.twitter.com/spritzer.json"
。
我需要能够打开连接并从打开的连接中逐步读取数据。
目前,当我调用WebRequest.GetResponse
方法时,它会阻塞直到整个响应被下载。我知道有一个BeginGetResponse
方法,但这只会在后台线程上执行相同的操作。我需要在下载仍在进行中时访问响应流。但是,使用这些类似乎不可能做到这一点。
Twitter文档中针对此问题有一个具体的评论:
“请注意,一些HTTP客户端库只有在服务器关闭连接之后才返回响应正文。这些客户端无法用于访问Streaming API。您必须使用会逐步返回响应数据的HTTP客户端。大多数强大的HTTP客户端库都将提供此功能。例如,Apache HttpClient将处理此用例。”
他们指向了Appache HttpClient,但这并不能帮助我,因为我需要使用.NET。
有什么想法可以在WebRequest/WebResponse
中实现这一点,还是我必须使用更低级别的网络类?也许还有其他库可以让我做到这一点?
谢谢。 Allen