问题标签 [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.
c# - WebRequest/WebResponse 在新登录时超时
我有以下方法从我使用的网站检索数据:
如果我保存了我的凭据,该程序可以完美运行。但是,如果我使用新登录,程序会到达这一行并挂起:
发生超时后,我收到指向此行的 XAML 错误:
它说:“PresentationFramework.dll 中发生了‘System.Windows.Markup.XamlParseException’类型的未处理异常”
如果我在保存登录信息的情况下继续重新启动程序,则没有问题。它仍然向站点发出相同的请求以获取数据,我不知道为什么会发生这种情况或如何解决它。
如果有人对如何解决此问题有任何提示或建议,我们将不胜感激。谢谢。
更新:即使从我的 XAML 中完全删除了 OxyPlot,仍然会抛出错误。XAML 本身非常简单:
删除 OxyPlot 后,错误指向 MainWindow.xaml 的第 3 行。我没有看到任何其他会导致此类错误的内容。事实上,我可以删除整个网格并仍然得到错误。
更新:我刚刚意识到我错误地配置了 Visual Studio 的异常设置。这是真正的错误:
“在 System.dll 中发生了‘System.Net.WebException’类型的第一次机会异常
附加信息:操作已超时"
指向有问题的原始行:
就像我说的那样,只有在程序启动时没有保存正确的登录信息时才会发生这种情况。如果我在崩溃后重新启动,假设我在第一次尝试时输入了正确的信息,则没有问题。
更新:看起来这是导致问题的代码:
在使用 WebRequests、WebResponses 或任何类似性质的东西时,我完全没有经验。什么是在启动时尝试登录的正确方法,然后在初始检查失败时提示输入正确的凭据?我想了解如何以正确的方式做到这一点,以便未来可能更加成功。您能给我的任何建议将不胜感激。
c# - 为什么 Resharper 会给我这个约束违规,我该如何安抚它?
我从 R# 在代码中得到了几个“可能的‘null’分配给标记有‘NotNull’属性的实体”的手指,例如:
在这种情况下,StreamReader 怎么可能为空?如果可以,我该如何围绕这种可能性进行防御性编程?
更新
好的,如果我更改此代码:
...对此:
...我仍然在同一条(“使用”)线上得到相同的手指。
如果我将其更改为:
...“对标有 'NotNull' 属性的实体的可能的 'null' 分配”仍然指的是同一行。那么我怎样才能对 R# 的手指摇动进行核打击呢?ISTM 认为“使用”将结束对 null 的必要检查......
更新 2
Resharper 在这条线上抱怨:
..."可能对标有 'NotNull' 属性的实体进行 'null' 分配"
所以我将其更改为同时检查 webResponse 和阅读器:
...但后来我得到,对于这两个“!=”测试,“表达式总是正确的”;所以它似乎在说,“小心!webResponse 可能为空!” 和/或,“小心!阅读器可能为空!” 但接着说,“那是浪费的代码——它们永远不会为空。”
c# - C# WebRequest 被禁止
使用 URL http://myanimelist.net/malappinfo.php?u=fakemudkipper&status=all&type=anime 并使用代码
此代码以前可以工作,但突然不再工作,并返回错误远程服务器返回错误:(403)禁止。它确实加载到我的网络浏览器上。我也尝试过使用
但这并没有帮助
c# - StreamReader OutOfMemoryException
我正在使用返回 xml 的 Web 服务,我想将其读入字符串。我正在使用 StreamReader 类的 ReadToEnd 方法,但此时由于大量 xml 数据而发生 OutOfMemory 异常。有什么办法可以得到这个。我的代码在下面
c# - 来自第 3 方的 webresponse,使用他们给定的 API,C#
我是 C# 的新手。我想使用 C# 从桌面应用程序发送消息,为此我从移动公司 (Telenor) 购买了一个 API。根据他们的文件,首先我必须通过向这个 URL 发送请求来获取身份验证 ID(https://telenorcsms.com.pk:27677/corporate_sms2/api/auth.jsp?msisdn=xxxx&password=xxx)它给了我XML 格式的响应,如下所示:
现在我需要<data>
节点中的会话 ID,以进一步用于发送消息,例如(https://telenorcsms.com.pk:27677/corporate_sms2/api/sendsms.jsp?session_id=xxxx&to=923xxxxxxxxx,923xxxxxxxxx,923xxxxxxxxx&text=xxxx&mask =xxxx)。
我尝试了很多方法来显示会话 ID 并使用它,但不知道该怎么做。它是我的代码:
api - api 请求出现 500 错误。通过浏览器调用时工作正常
您好,我有一个验证用户登录的 api。现在,当我在浏览器中点击此休息服务时,它会显示结果,但是当我尝试使用我的代码执行此操作时,它会出现 500 错误。请帮我解决一下这个 。
c# - 对同一资源的多个 WebRequest 相互阻塞?
所以我有多个线程试图从资源中获取响应,但出于某种原因 - 即使它们在单独的线程中运行,每个响应也只会在所有其他线程仍在等待或关闭时返回。我尝试使用
WebResponse response = await request.GetResponseAsync();
,但首先这对我来说似乎是多余的,因为我已经在运行单独的线程,而且 Visual Studio 也告诉我
'await' 运算符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法并将其返回类型更改为“任务”。
这里发生了什么?
编辑(代码):
启动方法(从单个线程调用)
下载线程:
c# - 如何在使用块中使用 WebResponse 处理重试后
我把我的WebResponse
包裹在using
块中:
我正在调用的 Web 服务将引发429 ,并在标题中使用Retry-After 。
如果我将它包装在 atry-catch
中以侦听,WebException
那么我将丢失响应的上下文并且将无法读取Retry-After
标题中的元素。
我应该如何正确处理响应,同时为此实现重试逻辑?
vb.net - StreamReader 的问题
我正在编写代码,试图从在线 DNS 报告 ( http://viewdns.info/dnsreport/?domain=google.com ) 中获取 HTML,但我遇到了一些问题。我真正需要的 HTML 文件中的一行(第 231 行)是在大约 680 个字符后自行切断。但是,重要的行之后的所有行都正确读取。抓取 HTML 的代码如下所示,我尝试了两种不同的方式。这是我尝试的第一种方法:
这是第二个:
我真的不确定此时还有什么问题。我也尝试将结果保存到文本文件中,看看是否是问题所在,但这也是不正确的。我已经查看了字符串停止区域的十六进制代码,但没有任何异常。拆分发生在背靠背鳄鱼括号(显示为括号)之间:(/tr)(tr)
但是在整个 HTML 中有很多这样的标签集,它们没有问题。
c# - System.Net.WebException:操作在 System.Net.HttpWebRequest.GetResponse 处超时
我正在尝试浏览一些网页,但有时我收到“操作已超时”错误。有时它可以工作几天而没有任何错误。收到错误后,如果我尝试从 WebBrowser 导航,它导航没有任何问题,但是如果我想再次使用 webrequest 导航,我会再次收到此错误...
我尝试将 ReadWriteTimeout 和 Timeout 属性设置为 2-3 分钟,直到无限.. 仍然没有任何运气:(
这是我的代码:
请问有什么想法吗?谢谢你。