Tag: webresponse

从打开的HTTP流中读取数据

我正在尝试使用.NET WebRequest / WebResponse类来访问Twitter流API,这里是”http://stream.twitter.com/spritzer.json” 。 我需要能够打开连接并从打开的连接中逐步读取数据。 目前,当我调用WebRequest.GetResponse方法时,它会阻塞,直到整个响应被下载。 我知道有一个BeginGetResponse方法,但这只会在后台线程上做同样的事情。 我需要在下载仍然发生时访问响应流。 对于这些类,这对我来说似乎不太可能。 Twitter文档中有关于此的具体评论: “请注意,某些HTTP客户端库仅在服务器关闭连接后才返回响应主体。这些客户端不能用于访问Streaming API。您必须使用将以递增方式返回响应数据的HTTP客户端。最强大的HTTP客户端库将提供此function。例如,Apache HttpClient将处理此用例。“ 他们指向Appache HttpClient,但这没有多大帮助,因为我需要使用.NET。 是否可以使用WebRequest/WebResponse任何想法,或者我是否必须使用较低级别的网络类? 也许还有其他库可以让我这样做? 艾伦

如何正确处理WebResponse实例?

通常,使用WebRequest编写类似这样的代码来下载一些数据。 using(WebResponse resp = request.GetResponse()) // WebRequest request… using(Stream str = resp.GetResponseStream()) ; // do something with the stream str 现在,如果抛出WebException,WebException会引用WebResponse对象,该对象可能会也可能不会调用Dispose(取决于发生exception的位置,或者响应类的实现方式) – 我不知道。 我的问题是如何处理这个问题。 是否应该编写一个非常防御性的编码,并在WebException对象中处理响应(这有点奇怪,因为WebException不是IDisposable)。 或者是否应该忽略这一点,可能访问已处置的对象或永远不会丢弃IDisposable对象? WebException.Response的MSDN文档中给出的示例完全不合适。

c#Webrequest Post和GetResponse

我正在编写一个程序,将XML提交到网站。 编写的代码工作正常, 但有时它因某些原因停止工作,抛出System.Net.ProtocolViolationException。 我可以关闭程序并重新运行 – 它再次开始工作就好了。 这是我正在使用的代码: private string Summit(string xml) { string result = string.Empty; StringBuilder sb = new StringBuilder(); try { WebRequest request = WebRequest.Create(this.targetUrl); request.Timeout = 800 * 1000; RequestState requestState = new RequestState(xml); requestState.Request = request; request.ContentType = “text/xml”; // Set the ‘Method’ property to ‘POST’ to post data to a […]

WebRequest.GetResponse锁定了吗?

写下面的代码时,我的代码会锁定GetResponse。 为什么? try { WebRequest myWebRequest = WebRequest.Create(strURL); WebResponse myWebResponse = myWebRequest.GetResponse(); //more code here