问题标签 [webrequest]
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.
xml - 从 WebRequest 中模拟 WebResponse
我终于开始着手创建一些与 RESTful Web 界面一起使用的应用程序,但是,我担心每次按 F5 运行一系列测试时我都会敲击他们的服务器。
基本上,我需要获取一系列 Web 响应,以便测试我是否正确解析了不同的响应,而不是每次都访问他们的服务器,我想我可以这样做一次,保存 XML,然后在本地工作。
但是,我看不到如何“模拟”WebResponse,因为(AFAIK)它们只能由WebRequest.GetResponse实例化
你们怎么去嘲笑这种事情?你?我真的不喜欢我正在锤击他们的服务器这一事实:SI 不想过多地更改代码,但我希望有一种优雅的方式来做到这一点..
接受后更新
威尔的回答是我需要的一记耳光,我知道我错过了一个基本点!
- 创建一个接口,该接口将返回一个代表 XML 的代理对象。
- 实现接口两次,一次使用 WebRequest,另一次返回静态“响应”。
- 然后,接口实现要么根据响应实例化返回类型,要么实例化静态 XML。
- 然后,您可以在测试或生产时将所需的类传递给服务层。
敲完代码后,我将粘贴一些示例。
c# - WebRequest 是与网站交互的正确 C# 工具吗?
我正在用 C# 编写一个小工具,它需要使用 POST 和 json 格式向/从网站发送和接收数据。我以前从未在 C#(或任何语言)中做过这样的事情,所以我正在努力寻找一些有用的信息来帮助我开始。
我在 C# 中找到了一些关于 WebRequest 类的信息(特别是从这里开始),但在我开始深入研究之前,我想知道这是否是适合这项工作的工具。
我找到了很多将数据转换为 json 格式的工具,但没有太多其他工具,所以任何信息在这里都会很有帮助,以防我最终陷入死胡同。
c# - 在服务器端 webrequest 上执行严格的超时策略
我们需要调用第 3 方以使用 REST 检索值,但是如果我们在 10 毫秒内没有收到响应,我想使用默认值并继续处理。
我倾向于使用异步 WebRequest 来做到这一点,但我想知道使用同步请求是否有技巧。
有什么建议吗?
asp.net-mvc - 在 ASP.NET MVC 中按优先级返回表单、查询字符串、cookie 值
我想知道为什么在从用户请求中获取值时首选查询字符串。在哪里?1) System.Web.Mvc.DefaultModelBinder 的代码如下所示(只是其中的一部分):
2)如果我在控制器中有一个带有这个签名的方法:
参数 (x, y) 绑定到来自查询字符串的值,而不是来自表单。我希望 Request.From 中的值比 Request.QueryString 中的值具有更高的优先级。
编辑:我看到第二种情况是由第一种情况(DefaultModelBinder)引起的,对吗?
背后的动机是什么?
asp.net - 从 localhost 到 localhost 的 WebRequest:为什么被拒绝?
我的应用在某些时候使用 WebRequest 从自身获取页面。
这应该不是问题。它实际上在服务器上运行良好,这是一个具有中等信任的“共享”托管包。在本地,我使用基于中等信任的自定义安全策略,其中包括以下内容 - 直接从默认的中等信任策略复制:
违规行位于自定义 XmlRelativeUrlResolver 中:
被请求的 url 位于本地主机上,与请求者在同一个应用程序中。这是堆栈跟踪的顶部。
有人在这里看到问题吗?
@Sijin:谢谢你的建议。发送到解析器的 url 基于请求 URL,我在调试器中确认访问 127.0.0.1 的站点会产生相同的结果。
c# - 通过 C# 应用程序测试网站是否存在
我正在寻找通过 C# 应用程序测试网站是否存在的最佳方法。
背景
我的应用程序包含一个Winforms UI、一个后端WCF 服务和一个用于向 UI 和其他消费者发布内容的网站。为了防止 UI 启动并且由于缺少 WCF 服务或网站关闭而无法正常工作的情况,我添加了一个应用程序启动检查以确保所有内容都处于活动状态。
该应用程序是用 C#、.NET 3.5、Visual Studio 2008 编写的
当前解决方案
目前我正在向网站上的测试页面发出网络请求,该页面将反过来测试网站,然后显示结果。
我假设如果在此调用期间没有出现异常,那么一切都很好并且 UI 可以启动。
问题
这是最简单、正确的方法,还是有其他一些我在 C# 中不知道的偷偷摸摸的调用或更好的方法。
c# - 使用 System.Net.WebRequest 时无法设置某些 HTTP 标头
当我尝试在对象上添加 HTTP 标头键/值对时WebRequest
,出现以下异常:
必须使用适当的属性修改此标头
我尝试Headers
使用 Add() 方法将新值添加到集合中,但仍然遇到相同的异常。
我可以通过将 WebRequest 对象转换为 HttpWebRequest 并设置诸如 之类的属性来解决此问题httpWebReq.Referer ="http://stackoverflow.com"
,但这仅适用于通过属性公开的少数标头。
我想知道是否有办法通过请求远程资源来更精细地控制修改标头。
.net - 无法在 .net 中发布 https WebRequest?
您好我在尝试在 Https 下发布 WebRequest 时遇到问题。
我收到以下错误
1.-底层连接已关闭:无法连接到远程服务器。
2.-操作超时
3-底层连接已关闭:无法为 SSL/TLS 建立安全通道。
我尝试了我公司和客户公司的大约 3 或 4 个不同的代理,即使我直接与 ISP 提供商没有任何限制,我在执行以下方法时遇到上述错误
这是否发生在代理后面,请求只能从代理后面的一台 PC 成功发布。代理没有安装客户端证书。
这是在 .net framework 1.1 下,并且请求已经包含网络凭据。
可能是什么?
更新
内部异常第三个错误如下:函数成功完成,但必须再次调用才能完成上下文
根据 iisper.h文档,此错误属于
在MSDN上,这是指
SEC_I_CONTINUE_NEEDED 客户端必须将输出令牌发送到服务器并等待返回令牌。然后将返回的令牌传递给 InitializeSecurityContext (Schannel) 的另一个调用。输出令牌可以为空。
这是否意味着 PC 缺少客户端证书?
c# - C#:下载超时的 URL
在 .NET 中最好的方法是什么?我总是忘记我需要什么Dispose()
(或用 包裹using
)。
编辑:经过长时间使用WebRequest
,我发现了自定义WebClient
. 好多了。
ssl - HttpWebRequest 服务器不可用 503 问题
我最初使用 WebRequest 和 WebResponse 来发送 Http Post 消息。我总是得到“OK”的回应。我发布的消息是使用 xml 中的证书签名的 XML。
组成如下:发送到 https 网站的 C# 服务。HTTPS 网站在另一个我不能说的地方。HTTPS 本地网站,它只是接收我在本地发布的消息并将结果写入文件。只是为了模拟其他网站正在获得什么。
本地网站使用自签名证书签名,将于 2048 年到期。
直到本周,这段代码都运行良好。我总是张贴并得到一个好的。在这两个网站上。但本周测试和真正的项目实施都进入了 Kaput。在两个网站上。
在本地网站上,它说无法连接到 SSL。这个问题是由自签名证书引起的,由于某种原因超出了我的理解,它给了地狱。感谢这里的问题,我刚刚验证了证书始终是真实的,现在它不再有问题了。
要解决此问题,只需编写以下代码:
在您的应用程序开始时。所以它只运行一次。
剩下的问题是“远程服务器返回错误:(503)服务器不可用。”。我在浏览器中输入 URL,它对我来说很好。在该网站的代码中没有收到任何内容,当它进入网络响应时,它给了我上述错误
我做了一个仅发送“Testing 1 2 3”的测试应用程序,但我不断收到错误消息。我也将它发送到哈佛 https 网站,没有错误。
这是我从网上找到的另一个例子:
更新
错误是我用 httpwebrequest 调用的那个需要一些我没有提供的 httpheaders。在唯一发生的事情是我得到“OK”响应之前。他们修复了他们的代码,我修复了我的代码,现在它可以工作了。
如果它发生在其他人身上,请像下面所说的那样检查代理设置,并检查另一方是否给出异常或什么都不返回。