在C#中操作Cookie标头

时间:2014-07-04 05:48:36

标签: c# cookies web-scraping

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

例如,这个站点在响应头中有URL_COUNTRY,当我将我的国家/地区切换到美国时它返回NULL(URL_COUNTRY =(null))但是当我将它设置到其他国家时它将返回URL_COUNTRY = ph(对于Phils而且当我得到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;

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

1 个答案:

答案 0 :(得分:0)

尝试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");
}