- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚注意到 C# 中的某些行为让我有些不快。我正在使用 C# 5 和 .NET 4.5。当我在 HTTPResponse 对象上调用 GetResponseStream() 时,我能够获得响应流,但如果我在同一个对象上再次调用它,则响应为空。
// Works! Body of the response is in the source variable.
HttpResponse response = (HttpWebResponse)request.GetResponse();
String source = new StreamReader(response.GetResponseStream()).ReadToEnd();
// Does Not Work. Source is empty;
String source2 = new StreamReader(response.GetResponseStream()).ReadToEnd();
以上只是一个例子来说明问题。
编辑
这就是我想要做的。基本上,如果事件附加到 HTTP 对象,它会将响应传递回回调方法。
HttpWebResponse public Get(String url)
{
// HttpWebRequest ...
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// postRequest is an event handler. The response is passed to the
// callback to do whatever it needs to do.
if (this.postRequest != null)
{
RequestEventArgs requestArgs = new RequestEventArgs();
requestArgs.source = response;
postRequest.Invoke(this, requestArgs);
}
return response;
}
在回调方法中,我可能想检查响应的主体。如果这样做,我将在 Get() 返回响应时丢失响应中的数据。
最佳答案
响应流直接从网络连接读取。
一旦读到最后(第 2 行),就没有更多数据可读了。
关于c# - 为什么我只能调用一次 GetResponseStream(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17891736/
我刚刚注意到 C# 中的某些行为让我有些不快。我正在使用 C# 5 和 .NET 4.5。当我在 HTTPResponse 对象上调用 GetResponseStream() 时,我能够获得响应流,但
我一直收到这样的垃圾短信 �\b\0\0\0\0\0\0�\a`I�%&/m�{J�J��t�\b�`$ؐ@������iG# 在此函数末尾的 html 变量中。可以看到,通过注释掉的代码,两种插入C
从 GetResponseStream 读取 HTTP 响应的最佳方式是什么? 目前我正在使用以下方法。 Using SReader As StreamReader = New StreamReade
我知道这是一个菜鸟问题,但只是想知道 GetResponseStream() 是否可以在任何情况下返回 null? 最佳答案 好吧,这有点取决于具体的子类 - 但我从未见过任何这样做的子类,而且它没有
我正在尝试从 ResponeStream 读取字节,但我怎么能说要等待数据呢? 如果我在 GetResponseStream 之后设置断点并等待几秒钟,一切正常。使用 StreamReader.Rea
var h = (HttpWebRequest)WebRequest.Create(url); using (var hr = (HttpWebResponse)(await h.GetRespons
有什么方法可以知道响应流的长度,以便向用户显示下载进度的百分比而不是不确定的进度? 我发现 Response 如下所示,不可搜索且没有长度 最佳答案 尝试使用 WebResponse.ContentL
我看到很多示例,但它们都是一次将它们读入字节数组或 256 个字符,速度很慢。为什么? 仅将生成的 Stream 值转换为我可以解析的字符串是不可取的吗? 最佳答案 你可以使用StreamReader
我正在调用网络服务。它接受 Http Post。它是基于 Http 的简单 XML。您在请求正文中向它发送一个 XML 请求文档,您在响应正文中返回一个 XML 响应文档。我在我们的代码库中有一个很好
我正在使用 HttpWebResponse.GetResponseStream 访问互联网广播流,并希望从响应流中读取一些数据,然后断开连接。但是,我总是无限期地卡在流的 Dispose 上。下面的单
如果我们创建一个 HttpWebRequest 并从它的响应中获取 ResponseStream ,那么数据是否会立即完全下载,或者当我们调用流的 ReadBytes 时,只有数据会从网络下载然后读取
我正在研究下载管理器项目我正在使用: public Stream GetStream(string url) { HttpWebRequest request = (HttpWebReques
我正在使用 System.Net.HttpWebRequest类来实现一个简单的 HTTP 下载器,可以暂停、取消甚至在取消后恢复(使用 HTTP Range 请求 header )。 很明显,Htt
当我捕捉到 .NET WebException 时,我应该关闭/处置 Response.GetResponseStream() 吗? MSDN example不会关闭或处理异常中的任何内容。 很多SO
我们正在读取来自 HttpWebResponse 的响应,我们认为响应本身非常正常。但是当我们尝试读取它的字符串表示形式时,我们只会收到奇怪的字符,而不是 json 格式的普通字符。谁能告诉我们这里出
我一直在想这个问题。在我们的一台客户端(Windows 7、.NET 2.0)机器上,以下代码似乎失败了(导致应用程序关闭),但似乎没有抛出任何异常。 在日志中打印了“发送休息请求”,然后什么也没有。
我正在尝试使用 HttpWebRequest 和 HttpWebResponse 从网页中检索 HTML 代码。 response = (HttpWebResponse)request.GetResp
我正在尝试从 HTTP 流直接上传到 S3,而不是首先存储在内存中或作为文件。我已经将 Rackspace 云文件作为 HTTP 到 HTTP 来执行此操作,但是 AWS 身份验证超出了我的范围,因此
由于某种超出我理解的原因,对特定网站 ( https://learningnetwork.cisco.com/people/mrollins?view=profile ) 的请求导致了一个 reqsp
我想从服务器读取 xls。我使用 WebClient 成功下载了文件,但现在我想打开它而不保存文件。 var request = WebRequest.Create(location)
我是一名优秀的程序员,十分优秀!