问题标签 [webresponse]

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 投票
6 回答
15526 浏览

xml - 从 WebRequest 中模拟 WebResponse

我终于开始着手创建一些与 RESTful Web 界面一起使用的应用程序,但是,我担心每次按 F5 运行一系列测试时我都会敲击他们的服务器。

基本上,我需要获取一系列 Web 响应,以便测试我是否正确解析了不同的响应,而不是每次都访问他们的服务器,我想我可以这样做一次,保存 XML,然后在本地工作。

但是,我看不到如何“模拟”WebResponse,因为(AFAIK)它们只能由WebRequest.GetResponse实例化

你们怎么去嘲笑这种事情?你?我真的不喜欢我正在锤击他们的服务器这一事实:SI 不想过多地更改代码,但我希望有一种优雅的方式来做到这一点..

接受后更新

威尔的回答是我需要的一记耳光,我知道我错过了一个基本点!

  • 创建一个接口,该接口将返回一个代表 XML 的代理对象。
  • 实现接口两次,一次使用 WebRequest,另一次返回静态“响应”。
  • 然后,接口实现要么根据响应实例化返回类型,要么实例化静态 XML。
  • 然后,您可以在测试或生产时将所需的类传递给服务层。

敲完代码后,我将粘贴一些示例。

0 投票
1 回答
23881 浏览

c# - 远程服务器返回错误:(422)

当我尝试使用 WebResponse 时出现以下错误

远程服务器返回错误:(422)。

有人知道这个例外吗?

0 投票
3 回答
28643 浏览

c# - 从打开的 HTTP 流中读取数据

我正在尝试使用 .NET WebRequest/WebResponse 类在此处访问 Twitter 流 API "http://stream.twitter.com/spritzer.json"

我需要能够打开连接并从打开的连接中增量读取数据。

目前,当我调用WebRequest.GetResponse方法时,它会阻塞,直到下载整个响应。我知道有一种BeginGetResponse方法,但这只会在后台线程上做同样的事情。我需要在下载仍在进行时访问响应流。这些课程对我来说似乎是不可能的。

Twitter 文档中对此有具体评论:

“请注意,某些 HTTP 客户端库仅在服务器关闭连接后才返回响应正文。这些客户端将无法访问 Streaming API。您必须使用将逐步返回响应数据的 HTTP 客户端。最强大的 HTTP客户端库将提供此功能。例如,Apache HttpClient 将处理此用例。

他们指向 Appache HttpClient,但这并没有多大帮助,因为我需要使用 .NET。

任何想法是否可以使用WebRequest/WebResponse,或者我是否必须参加较低级别的网络课程?也许还有其他图书馆可以让我这样做?

谢谢艾伦

0 投票
1 回答
7345 浏览

c# - WebRequest.GetResponse 锁定?

在编写下面的代码时,我的代码锁定在 GetResponse 上。为什么?

0 投票
2 回答
602 浏览

vb.net - IIS/缓存问题?

我有一个程序使用 webrequest 和 webresponse 每 3 秒检查一次文件是否存在。如果该文件存在,则它会执行某些操作,等等,该部分工作正常。我有一个网页,它通过创建带有输入到页面中的消息和其他变量的文件来控制程序,然后创建它并将其发送到程序正在检查的文件夹中。还有一个“停止”按钮可以删除该文件。

这很好用,除了在启动一条消息然后删除后,当它第二次启动时使用不同的消息,程序仍然会看到旧消息。我看到文件在 IIS 中被删除,所以这不是问题。

我考虑过使用元标记来防止缓存,但是动态命名文件是否也能解决这个问题?如何使程序能够检查仅知道文件名第一部分的文件?我找到了检查本地机器上目录的解决方案,但这在这里行不通。

欢迎任何想法,谢谢。

0 投票
2 回答
418 浏览

c# - 读取超时后重新读取 ResponseStream

我想知道当我读取响应流并发生超时时,我可以重试读取吗?还是我必须提出新的要求?我正在下载的服务器不支持恢复,所以我需要防止超时。

0 投票
2 回答
1366 浏览

c# - 为什么在阅读 twitter firehose 流时 WebResponse 永远不会结束?

以下函数将从 Twitter firehose 中拉取前 X 条消息,但看起来像 WebResponse 块并且永远不会退出该函数:

但以下工作正常:

我究竟做错了什么?

0 投票
6 回答
10823 浏览

c# - 如何正确处理 WebResponse 实例?

通常,编写类似这样的代码来使用 WebRequest 下载一些数据。

现在,如果抛出 WebException,则 WebException 具有对 WebResponse 对象的引用,该对象可能调用也可能不调用 Dispose(取决于异常发生的位置,或响应类的实现方式)——我不知道。

我的问题是应该如何处理这个问题。是否应该进行非常防御性的编码,并在 WebException 对象中处理响应(这会有点奇怪,因为 WebException 不是 IDisposable)。还是应该忽略这一点,可能访问已处置的对象或从不处置 IDisposable 对象?MSDN 文档中针对 WebException.Response 给出的示例是完全不够的。

0 投票
2 回答
1879 浏览

c# - 如何获取响应WebResponse C#的服务器的IP地址

我试图在 C# 中找到响应我的 WebRequest 的 IP 地址(不是主机名)。我不想进行 DNS 解析,因为它们是返回的 DNS 记录不是响应请求的服务器的情况。例如:

客户端 -> 负载均衡器 -> Web 服务器

DNS 服务器将使用负载均衡器的 IP 进行响应。假设响应的 Web 服务器没有通过负载均衡器返回,那么 IP 地址将是我要查找的实际 Web 服务器。

0 投票
2 回答
4106 浏览

c# - 如何以编程方式模拟按钮单击

大家好,我正在开发一个应用程序,用户可以使用 .net 订阅或取消订阅一组邮件列表。我正在使用 webclient 类,如下所示

其中响应包含另一个按钮(取消订阅)。我要做的是从我的.net 应用程序中以编程方式模拟(取消订阅)按钮单击。有没有办法做到这一点?

感谢和问候 Chaithu