问题标签 [httpwebresponse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 此流不支持查找操作。HttpWebResponse
我正在制作一个通过 http 下载文件的程序。
我已经下载了它,但是我希望能够暂停下载,关闭程序并在以后再次恢复它们。
我知道我从中下载它们的位置支持这一点。
我正在通过 HttpWebResponse 下载文件并使用 GetResponseStream 将响应读入 Stream。
当我关闭应用程序并重新启动它时,我不知道如何恢复下载。我尝试在流上进行搜索,但它表示不支持。
最好的方法是什么?
.net - 获取使用 HttpWebRequest/HttpWebResponse 发出的 HTTP 请求和响应以在 Fiddler 中显示
有什么方法可以让 Fiddler 捕获使用 .NET HttpWebRequest 和 HttpWebResponse 发出的请求和响应?
c# - 检测 WebRequest 的 HTTP 代理错误
如何检测 WebRequest 由于 Web 代理错误而不是目标 Web 服务器错误而失败?
c# - 大型 System.IO.MemoryStream 会导致我的应用程序的内存使用量急剧增加吗?
我正在构建一个允许用户从 URL 下载文件的库。我正在考虑的选项之一是让用户为文件指定预期的 MD5 校验和;库的 GetFile(string url) 函数确保下载流的校验和与用户指定的校验和匹配。
意识到 HttpWebResponse.GetResponseStream() 返回的 NetworkStream 不可搜索,我找到了一种复制 Stream 的方法,这要归功于这个问题的答案:如何在 C# 中读取 Http 响应流两次?. 不过,在我走得更远之前,我想弄清楚这种重复对记忆的影响是什么;不幸的是,谷歌和 MSDN 上的多次搜索都失败了。
该库对要下载的文件的大小没有限制。我的问题是,如果用户选择一个 2GB 的文件,.NET 2.0 中的 MemoryStream 实现是否足够聪明,可以有效地使用 PageFile 和 RAM,以至于系统不会因为 VM 崩溃而开始爬网?此外,Jon Skeet 对另一个问题的评论给了我一些思考 - 他断言即使在处理 MemoryStream 之后,内存也不是 100% 释放的。如何以及何时可以确保实际释放内存?它会根据系统的要求(和必要性)发布吗?
谢谢,马诺伊
c# - HttpWebResponse:关闭流
我从HttpWebRequest获得响应(使用修改后的版本Jeff Richter 的 CCR 包装器),然后检查一些标头以确定是否继续下载。有时我可能不想继续,所以我因此发出response.Close和request.Abort。是否有必要发出GetResponseStream然后关闭流,或者这是在调用response.Close时隐含的?
发出 GetResponse 后,文档状态:
您必须调用 Close 方法来关闭流并释放连接。不这样做可能会导致您的应用程序连接不足。
那么这是否意味着一旦我们得到响应,就必须获取流并关闭它?
我们看到了一些相当奇怪的问题,即挂起的下载最终会淹没系统。这似乎是资源泄漏的最强候选者,但想知道是否有其他人有此问题的经验。
顺便说一句:假设它是同一个流,两次 GetResponseStream 是否安全?
.net - Response.GetResponseStream() 转义双引号
Response.GetResponseStream() 正在返回带有转义字符的 xml
<?xml version=\"1.0\" encoding=\"utf-8\"?>
因为这个 XmlReader 返回 {None}。请帮忙?
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Accept = "*/*"; req.Headers.Add("UA-CPU", "x86");
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MS-RTC LM 8)"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); XmlTextReader xRead = new XmlTextReader(resp.GetResponseStream());
如果我的调用来自客户端脚本 Web 服务调用,则 xRead 为 {None}。当我使用 StreamReader 检查响应流时
StreamReader reader = new StreamReader(resp.GetResponseStream()
return reader.ReadToEnd()
我看到了转义字符
<?xml version=\"1.0\" encoding=\"utf-8\"?>
vb.net - HttpWebRequest POST 和 Cookie
您好我正在尝试制作一个将数据发布到 joomla 登录页面的应用程序,但我唯一得到的是未启用 cookie。
我应该怎么做?
httpwebrequest - HttpResponse 是否在没有明确 response.close() 的“使用”块中工作
我试图澄清这一点:
方法一:
方法二:
当我在本地机器上使用 Method-1 和 Method-2 连接并从远程机器 X 获得响应时,它们都正常工作。
当我在远程机器 Y 上使用此代码从 X 获取响应时,只有 Method-1 正在工作,而对于 Method-2,我得到了
上面提到的方法有什么区别以及可能的问题是什么?
c# - 在异步 HttpWebResponse 读取期间捕获未处理的 SocketException
对 HttpWebRequest.BeginGetResponse/EndGetResponse 和 HttpWebResponse.GetResponseStream().BeginRead/EndRead 的所有异步调用都是从 try/catch 块进行的,但是,这些异常会传播并且不会留下机会来处理它们并停止应用程序终止:
未处理的异常:System.IO.IOException:无法从传输连接读取数据:已建立的连接被主机中的软件中止。---> System.Net.Sockets.SocketException:已建立的连接被主机中的软件中止
未处理的异常:System.IO.IOException:无法从传输连接读取数据:现有连接被远程主机强行关闭。---> System.Net.Sockets.SocketException: 现有连接被远程主机强行关闭
实际代码片段:
PS:在 Microsoft Connect https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510564提交了错误报告
cookies - 使用本网站需要 Cookie。HttpWebRequest/HttpWebResponse Cookie
我正在使用以下代码创建一个 HttpWebRequest 并从响应流中呈现 XML。
` HttpWebRequest 请求 = (HttpWebRequest)HttpWebRequest.Create(url);
req.Accept = " / ";
req.Headers.Add("UA-CPU", "x86");
req.UserAgent = “Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.0;MS-RTC LM 8)”;
req.CookieContainer = new CookieContainer();
使用 (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
使用 (StreamReader reader = new StreamReader(resp.GetResponseStream()))
{
}
}`
它在我的本地服务器和测试服务器上运行良好,但在 UAT 服务器上,我收到响应为“使用此站点需要 Cookie”。我不明白为什么会这样。如果我直接浏览到 URL,则会呈现有效的 XML,但如果使用上述代码,它将不起作用。有人可以帮忙吗?