问题标签 [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.

0 投票
1 回答
690 浏览

httpwebrequest - Httpwebrequest / Httpwebresponse - 重定向计数

我试图弄清楚我的网络请求在最终到达最终内容之前被重定向了多少次。

我正在创建我的网络请求,如下所示:

我查看了以下 URL http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.maximumautomaticredirections.aspx

但是,我不想强​​加限制。我实际上希望它遵循所有重定向(不是真的想要引用所有 URL),但只是例如说“您已被重定向 X 次”。

我希望有一种快速的方法来做到这一点,因为目前我假设我必须捕获所有 3xx 代码并为每个代码创建一个新请求(希望不是!)。

0 投票
1 回答
330 浏览

c# - 是否可以在 C# 中只下载文件的一部分(例如,前 100KB)?

我只是好奇这是否可能——我知道如何下载文件,但我怎样才能只下载文件的前 100KB?

0 投票
2 回答
8572 浏览

c# - 如何将 byte[] 响应转换为有效的 XDocument?

这是我会收到的典型回复。我尝试了以下方法,但我收到一个错误,告诉我不能将非空白字符添加到内容中。

0 投票
6 回答
18566 浏览

httpwebrequest - 在 HttpWebRequest 上获取“基础连接已关闭”

我有一个用 VB.NET 编写的应用程序(不是asp.net,它是一个 Windows 控制台应用程序)。我正在尝试调用一个 url(一个 html 页面)并将响应返回到一个字符串中。响应是直接的 JSON,没有任何 html 标签。它以 开头{和以 结尾}

我很好地创建了 HttpWebRequest 对象。然后调用req.GetResponse()。一旦我这样做,我就会得到错误The underlying connection was closed: The connection was closed unexpectedly.,我一直在谷歌搜索和检查 stackoverflow,并尝试了我发现适用的所有内容(其中很多与 WCF 服务配置有关,这些配置不适用)。

这是我的代码:

注释掉的行(错误的注释样式,但 SO 会正确解析)是我迄今为止根据我在网上找到的所有内容。他们都没有修复它。我已经验证了正在构建的 URL 是正确的;如果我在浏览器中调用完全相同的 URL,它会返回完全正确的预期响应。

我已经尝试对其进行wiresharking ...我看到实际预期的完整数据在鲨鱼输出中返回,然后是几行,然后是一条红线,上面写着: http > 51943 [RST] Seq=1607 Win=0 Len=0这是.NET之前出现的最后一行正在抛出错误。

我还尝试在 SO 上的每个帖子中打开System.Net跟踪/日志记录,并且在输出文件中,我同样看到所有预期的 JSON 数据确实回来了,但是在它回来之后,它会在 .NET 跟踪日志中抛出这些行:

有什么想法可以尝试解决这个问题吗?我们正在从一些环境监测传感器设备中读取这些数据,他们给了我们这个 url 供我们使用。

真正让我感到困惑和困惑的两件事是
a) 在浏览器中调用时它工作得非常好
b) WireShark 和 .NET 跟踪都显示所有数据实际上正在返回,并且框架出于某种原因除了 AFTER接收所有数据!

WebException 本身很少使用,因为它的 InnerException 为 null 并且它的状态只是说“ConnectionClosed {8}”

提前致谢!!!

更新 08/18 1130:我现在也尝试使用System.Net.WebRequestHttpWebRequest. 这也没有任何区别。

更新 08/18 1222:我只是尝试切换我的代码而不是使用[Http]Web[Request|Response]来调暗WebClient对象并使用它的DownloadString()方法。然而,这也会引发同样的错误。

更新 08/18 1230:尝试使用My.Computer.Network.DownloadFile()- 也得到相同的连接关闭错误。

0 投票
1 回答
3666 浏览

c# - 将 Cookie 从 CookieContainer 写入 IE cookie 存储

我想从桌面应用导航到 Web 应用中的页面。“没问题”,我听到你说,“只需使用正确的 URL 启动默认浏览器”。但是,Web 应用程序使用 ASP.NET 表单身份验证,用户不想看到登录页面,因为他们已经在桌面应用程序中使用相同的凭据进行了身份验证。

这听起来很简单,我所要做的就是从桌面应用程序发出一个 HTTP POST 来伪造来自 Web 应用程序登录页面的回发。然后,Web 应用程序将设置其身份验证票证和会话状态 cookie,将它们返回给我,我会将它们存储在 IE cookie 存储中。然后我可以导航到所需的页面,Web 应用程序会认为它已经过身份验证。

我有一些构建 HTTP POST 的工作代码,将其发送出去,并获得包含正确 cookie 的有效响应。但是,我看不到如何将它们写入 IE cookie 存储。谁能指出我正确的方向?

示例代码:

0 投票
1 回答
1180 浏览

asp.net - 从asp.net 中远程URL 上的get 请求中提取标头信息?

我想对远程 URL 执行获取请求,然后提取返回的标头。

谢谢你的帮助!

0 投票
2 回答
976 浏览

c# - HttpWebRequest IO/带宽使用 C#

我正在尝试测量 HttpWebRequest(和响应)发送和接收的数据量。

据我所知,只能知道请求和响应内容的长度,即正文,而不是标头。

有谁知道如何获得完整的长度?是要对标头和正文求和,还是可能只是一种测量来自线程或进程的所有网络 IO 的方法?

0 投票
2 回答
2280 浏览

c# - HttpWebResponse 和分块 http。如何读取单个块?

远程服务器上有一个二进制文件,我希望将其传输到我的客户端。我发出一个 GET 请求,响应是一个 HTTP 标头 + 正文,其中包含二进制文件,分块。问题是,每个块都包含二进制数据以及我需要的一些元数据。

如何使用 C# 一次从 HTTP 流中读取一个块?

0 投票
1 回答
2166 浏览

c# - C# HttpWebResponse 彗星问题

我想知道如何使用 HttpWebRequest 和 HttpWebResponse 读取持久连接。问题似乎是 GetResponseStream() 函数在返回之前等待服务器连接关闭。

是否有另一种简单的方法来读取彗星连接?不起作用的例子。

0 投票
2 回答
3132 浏览

c# - HttpWebRequest 初始化 - 从未收到响应

我目前正在为 Windows Phone 7 实现一个应用程序,该应用程序应该检索 SHOUTcast 流(受这个问题的启发)。流位置由 IP 地址和端口表示。

以下是 SHOUTcast 流 URL 的示例:http: //78.159.104.183 :80

我正在尝试制作一个HttpWebRequest来从流中获取数据:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://78.159.104.183:80");

初始化请求后,我将尝试通过异步回调获得响应:

GetShoutAsync 看起来像这样:

当我构建项目并运行它时,它会到达初始化请求的位置,但从未调用回调。

我注意到一件有趣的事情 - SHOUTcast 实现了一种技术,当用户尝试导航到流 URL 时,服务器会检测到用户代理,如果它是 Web 浏览器,它将简单地显示 HTML 页面而不是传递application/octet -流内容。

如果在流 URL 的末尾使用斜杠和分号,仍然可以直接接收流:http: //78.159.104.183:80/;

但是,在我的应用程序中,我无法获得响应 - 回调似乎永远无法到达。我尝试通过将用户代理直接传递给 HttpWebRequest 来伪造用户代理:

这适用于简单的流 URL(末尾没有分号)来获取 HTML 内容,但我无法获取二进制流。

有没有人遇到过这样的事情或者知道是什么原因造成的?