- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 HttpWebRequest 和 HttpWebResponse 从网页中检索 HTML 代码。
response = (HttpWebResponse)request.GetResponse();
...
Stream stream = response.GetResponseStream();
响应对象的 ContentLength 值为 106142。当我查看流对象时,它的长度为 65536。当使用 StreamReader 使用 ReadToEnd() 读取流时,仅返回前 65536 个字符。
如何获取完整代码?
编辑:
使用以下代码段:
catch (WebException ex)
{
errorMessage = errorMessage + ex.Message;
if (ex.Response != null) {
if (ex.Response.ContentLength > 0)
{
using (Stream stream = ex.Response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream))
{
string pageOutput = reader.ReadToEnd().Trim();
ex.Response.ContentLength = 106142
ex.Response.GetResponseStream().Length = 65536
stream.Length = 65536
pageOutput.Length = 65534(因为修剪)
是的,代码实际上被截断了。
最佳答案
您可以在System.Net.HttpWebResponse.GetResponseStream() returns truncated body in WebException 中找到该主题的答案。
您必须管理 HttpWebRequest
对象并更改 DefaultMaximumErrorResponseLength
属性。例如:
HttpWebRequest.DefaultMaximumErrorResponseLength = 1048576;
关于c# - WebException.Response.GetResponseStream() 限制为 65536 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4865594/
我刚刚注意到 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)
我是一名优秀的程序员,十分优秀!