WebClient为任何网址下载空白字符串,但仅限于网络服务器

时间:2015-11-23 09:56:24

标签: c# asp.net-mvc webclient

我已经使用我的MVC Web应用程序在本地测试了下面的代码,它在本地工作正常,但在我的实时Web服务器上测试时总是返回一个空白字符串,我尝试了不同的UserAgent值,但没有成功,我已经还在Web服务器上设置了一个Windows窗体应用程序并测试了代码,但它下载得很好。我想它可能是我的web.config文件中的一些设置,但我对web.config文件的工作原理知之甚少。

public class Web
    {
        private const string UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";

        public static string DownloadPage(string url)
        {
            var client = new WebClient();
            client.Encoding = System.Text.Encoding.UTF8;
            client.Headers[HttpRequestHeader.UserAgent] = UserAgent;

            return client.DownloadString(url);
        }
    }

1 个答案:

答案 0 :(得分:0)

您确定不需要进行身份验证吗?

您不需要UserAgent。 试试这样,这就是我的工作方式。你现在至少可以看到它会抛出的异常。

    public string RequestUrl(string reqUrl)
    {
        WebClient client = new WebClient();
        try
        {
            return client.DownloadString(reqUrl);
        }
        catch (Exception e)
        {
            return "" + e;
        }
    }