[英]WebClient throw exception The remote server returned an error: (507) Insufficient Storage
我开发了循环发送请求到网站的小程序。 为了从网页上获取我需要的一些信息,然后将其存储到我的数据库中。
大约有1400个请求。
我在开发计算机和Windows Azure VM上都运行它。
首先,它在两台机器上都运行良好(第一天)。 但是第二天我在Windows Azure VM上运行它之后。 这样会引发异常。
Web异常:System.Net.WebException:远程服务器返回错误:(507)存储空间不足。 在System.Net.WebClient.OpenRead(Uri地址)在System.Net.WebClient.OpenRead(字符串地址)在StockChecker.MainWindow.Worker_DoWork(Object Sender,DoWorkEventArgs e)
但是在开发机器上没问题。
发生了什么事。 目标网站是否被检测为机器人? 如何解决此问题。
这是我的代码。
WebClient client = new WebClient();
List<tbmProduct> prodList = // Get data from my database;
foreach (var prod in prodList)
{
string content;
string link = prod.SupplierUrl;
try
{
using (StreamReader reader = new StreamReader(client.OpenRead(link)))
{
content = reader.ReadToEnd();
// Do something. Update my database.
}
}
catch (WebException ex)
{
// write log
}
catch (Exception ex)
{
// write log
}
}
我也遇到了这个问题,并搜索了很多文档,但找不到修复方法。 似乎此问题是由服务器设置引起的,因此我们无法在代码中修复它。 我的解决方案是发生507错误时,保存当前点,然后等待几分钟,然后继续从断点发送http请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.