C# WebClient.DownloadString 访问美国网站的 URL

本文关键字:网站 URL 美国 访问 WebClient DownloadString | 更新日期: 2023-09-27 17:56:20

我正在将URL传递到WebClient.DownloadString("http://someurl.com")以下载页面的HTML,但它总是下载我所在国家/地区的页面版本(即 http://someurl.com/en-cn)我需要下载URL的美国网站。

这是我调用的函数来下载 HTML:

public static String GetHtmlStringWC(string url)
    {
        string htmlString = string.Empty;
        try
        {
            using (WebClient webClient = new WebClient())
            {
                try
                {
                    webClient.Headers["User-Agent"] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15";
                    WebProxy myProxy = new WebProxy();
                    myProxy.IsBypassed(new Uri(url));
                    webClient.Proxy = myProxy;
                    htmlString = webClient.DownloadString(url);
                }
                catch (Exception ex)
                {
                    throw;
                }
                finally
                {
                    webClient.Dispose();
                }
            }
        }
        catch (WebException wex)
        {
            throw;
        }
        catch (Exception ex)
        {
            throw;
        }
        finally { }
        return htmlString.Replace("'r", string.Empty).Replace("'n", string.Empty).Replace("'t", string.Empty); 
    }

我是否缺少参数?我需要传递什么才能让它始终下载该页面的美国版本?

C# WebClient.DownloadString 访问美国网站的 URL

如果服务器使用页面的本地化版本进行响应,则选项为:

  1. 尝试在 URL 中包含所需的版本,例如 http://someurl.com/en-us
  2. 转到网站,看看是否有设置语言的选项,如果是,请尝试在您的程序中执行此操作

  3. 尝试使用代理,VPN,Tor等。