- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 ASP.Net 3.5 运行的 Web 应用程序
在应用程序的某处,我正在调用外部系统。此调用包括从特定 url 下载字符串:
string targetUrl = BuildMyUrl();
WebClient wc = new WebClient();
string data = wc.DownloadString(targetUrl);
此代码在可接受的响应时间(低于 500 毫秒)下运行良好。
但是,在特定情况下,此响应时间超过 15 秒。我可以重现该行为,并且可以清楚地看到 DownloadString
调用的时间很长。
我不明白为什么这种情况会发生在我的场景中。
你会说:“嘿,是目标系统慢了”。但是我无法在我的应用程序之外重现该行为(我构建了一个小型控制台应用程序来隔离错误代码。从来没有遇到任何问题)。
我不知道现在去哪里了解这个问题。什么会导致简单的下载数据很长?
仅供引用:目标系统是一个身份验证服务。目标网址是这样的:
httpS://mysystem/validate?ticket=XXXYYY
可能是 https 协议(protocol)的问题。
在 IIS 下使用 WebClient 类是否可以改变 WebClient 的行为?
[编辑] 我试过了:
Proxy
属性显式设置为 null我已经用这段代码替换了 DownloadData 调用:
var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(targetUrl));使用 (var response = (HttpWebResponse)req.GetResponse()){ 使用 (var sr = new StreamReader(response.GetResponseStream())) { 数据= sr.ReadToEnd(); }
此测试均未成功。
最佳答案
尝试使用Fiddler或 Chrome/FF 浏览器中的一些集成网络分析器,以查看 HTTPS 请求/响应及其 header 。
关于c# - WebClient.DownloadString 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581369/
我想从谷歌财经导入文本数据,我用这个http地址作为参数来DownloadString http://www.google.com/finance/getprices?i= 1200&p=1d&f=d
我有一个简单的功能可以从特定页面的以下代码中抓取突然出现 503 错误的网页: try { WebClient client = new WebClient(); client.Proxy =
我正在尝试从 Amazon 下载 html 文档,但由于某种原因,我得到了一个错误的编码字符串,例如“�� K��g��g�e”。 这是我尝试过的代码: using (var webClient =
我有一个名为 GetIP 的函数,我在启动时和用户按下按钮时调用该函数。由于某种原因,它在启动时不会崩溃,但在使用按钮调用该函数时会崩溃。没有异常(exception),什么都不会卡住。 函数代码:
这个问题在这里已经有了答案: C# WebClient disable cache (12 个答案) 关闭 7 年前。 我正在使用这段代码从 URL 获取返回字符串 webClient.Encodi
只是一段代码 WebClient wc = new WebClient(); String str = wc.DownloadString(new Uri("http://content.warfra
我正在开发一个使用 ASP.Net 3.5 运行的 Web 应用程序 在应用程序的某处,我正在调用外部系统。此调用包括从特定 url 下载字符串: string targetUrl = BuildMy
我遇到了一个关于 WebClient.DownloadString 的奇怪问题,我似乎无法解决,我的代码: Dim client As New WebClient() Dim html = clien
这个问题在这里已经有了答案: WebClient.DownloadString result is not match with Browser result 2 (3 个答案) 关闭 5 年前。
WebClient client = new WebClient(); string url = "https://someurl.com/..." string get = client.Dow
我正在使用 webclient 从在线共享点下载 XML 文件。 但是,当我使用 WebClient.DownloadString(string url) 方法时,一些字符没有被正确解码。 当我使用
我正在尝试查看 http://simpledesktops.com/browse/desktops/2012/may/17/where-the-wild-things-are/ 的来源使用代码: St
对 WebClient.DownloadString 的调用给出了第一次机会异常: IOException: The specified registry key does not exist. 一段
我想从海盗湾的搜索查询中获取源代码,我的代码中有这个但它没有返回任何内容: WebClient webpage = new WebClient(); string source= webpage.D
我在为我正在构建的屏幕抓取工具从网上下载一些内容时遇到问题。 在下面的代码中,从 Web 客户端下载字符串方法返回的字符串返回一些奇怪的字符用于少数(不是所有)网站的源下载。 我最近添加了 http
任何人都知道我可以如何修改下面的 DownloadString 以便我也可以传递基本的身份验证凭据? 我正在使用与 PsGet (http://psget.net/) 相同的技术来下载我自己的内部脚本
我正在使用 WebClient.DownloadString() 方法下载一些数据。我正在使用以下代码: static void Main(string[] args) { s
我昨天开始使用 Xamarin for Android,是的,它非常好。当然,我和每个人一样,肯定会有一些错误。 我尝试的只是使用以下代码行异步下载 www.google.com 的 HTML:
我想知道在使用 WebClient.DownloadString 时我应该保护自己免受哪些异常的影响。 这是我目前使用它的方式,但我相信你们可以建议更好、更健壮的异常处理。 例如,在我的脑海中: 没有
我正在尝试使用正则表达式从网站检索名称。但是,当我运行该程序时,使用“路径中的非法字符”出现错误。这是代码: private void button1_Click(object sender, Eve
我是一名优秀的程序员,十分优秀!