c# - 为什么我会得到罗马尼亚语翻译的 IMDB 结果?

标签 c# httpwebrequest httpwebresponse

HttpWebRequest WebReq;
HttpWebResponse WebResp;
Stream Answer;
StreamReader _Answer;    
string ResponseOutput;

WebReq = (HttpWebRequest)WebRequest.Create(imdb.url);
WebReq.KeepAlive = false;
WebReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4";                
WebReq.Method = "GET";    
WebReq.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
WebReq.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
try
{
    using (WebResp = (HttpWebResponse)WebReq.GetResponse())
    {
        Answer = WebResp.GetResponseStream();
        _Answer = new StreamReader(Answer);
        ResponseOutput = _Answer.ReadToEnd();
    }
}
catch (WebException ex) {return null;}

为什么我的页面被翻译成罗马尼亚语?如果我用 http://www.imdb.com/title/tt1606378/ 调用此代码我收到包含 <title>Si mai greu de ucis (2013) - IMDb</title> 的响应而不是<title>A Good Day to Die Hard (2013) - IMDb</title>

最佳答案

这对我来说效果很好,但我怀疑他们正在进行地理定位,以便在没有语言标题的情况下获取您的语言。

我建议提供一个 Accept-Language header ,并将 en 作为值:

WebReq.Headers.Add("Accept-Language", "en");

关于c# - 为什么我会得到罗马尼亚语翻译的 IMDB 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15120098/

相关文章:

c# - 嵌套在静态类中的类中的扩展方法

sql-server - 每分钟 10,000 个 HTTP 请求性能

c# ClientCertificates.Add() 证书未附加到 httpwebrequest

c# - WebOperationContext.Current.OutgoingResponse.StatusDescription 被忽略

apache - 减少服务器响应时间 - debian 7 上的 apache2

c# - 将 IOrderedEnumerable 转换为 ICollection

c# - 在 Visual Studio Mac 中找不到命名空间 Microsoft.Azure

c# - 将一个控件绑定(bind)到另一个的 DataContext

c# - 这个 C# 语法叫什么,它有什么作用?

c# - HttpWebResponse 中永无止境的 Stream