【问题标题】:Manipulate Cookie Headers in C#在 C# 中操作 Cookie 标头
【发布时间】:2014-07-04 05:48:35
【问题描述】:

我目前正在抓取电子商务网站以获取价格和其他产品相关信息,我来自菲律宾,我抓取的一些网站会给我以 PH 为单位的价格,一些以美元为单位,我需要能够下载美国版的网站,所以我可以得到美元的价格。

例如,这个网站的响应标头中有 URL_COUNTRY,当我将我的国家/地区切换到美国时,它返回 NULL ( URL_COUNTRY=(null) ),但是当我将其设置为其他国家/地区时,它会返回 URL_COUNTRY=ph (菲尔斯),当我得到 XPATH 的价格时,即使我通过了美国网址,它也会给我 PESO 值。

更新 我尝试了以下但无济于事:

CookieContainer cookieContainer = new CookieContainer();
cookieContainer.Add(new Uri(url), new Cookie("URL_COUNTRY", "us"));
cookieContainer.Add(new Uri(url), new Cookie("URL_LANGUAGE", "en"));
webRequest.CookieContainer = cookieContainer;

如何操作标题以便获取美国页面?

【问题讨论】:

    标签: c# cookies web-scraping


    【解决方案1】:

    试试 HttpClient。 应该这样做:

    using (var httpClient = new HttpClient())
    {
        httpClient.BaseAddress = new Uri("http://example.com/");
        httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
        httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json");
    }
    

    【讨论】:

    • 谢谢,我正在为此使用 HttpWebRequest 和 CookieContainer,您对此有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    相关资源
    最近更新 更多