C#-如何使用xNet从网站获取Cookie

时间:2018-09-14 09:43:10

标签: c# email cookies xnet

我想在以下网站提交电子邮件:https://www.bitdefender.com/site/Facebook/redFreeDownload?nfo%5Bemail%5D=agytnpbu%40gmx.com&nfo%5BreGoogle%5D=auto-detect&g-recaptcha-response=&nfo%5Bhash_page%5D=tsmd-2016-facebook&nfo%5Bsystem-2016%5D=active

  • 有一个验证码,但是不起作用。

我使用Fiddler来获取我需要的所有信息。但是,我不知道如何阅读Cookie,以便能够一次又一次地提交电子邮件...

我该怎么办? Cookie:

__cfduid=d7132cd01781606b71aa23e43dca589bc1536917322; PHPSESSID=a4ujho0plamjc6nq4n31pqu627; _country=il; AWSALB=xAs9RL/e6nVR17J9qYZnooEQedeMW48ZEgx8no+xyhkQxhCjSsrcnc1l/LpjrfL8vBNXdA40agM6Zk3e4i84DGCDXd/7TqGaaYrb5zeyGHbxy8nBZqIGiKUKtKLV; bd112=3ZAxb4MwEIX%2FiyU6hRAgUIUqilRF6dq9ripjH2AFc5Z9lEZV%2Fnup24GhS9Zup3ffu3d6L59sdD2rWEdkK57wZJqmda1JQQODAreWaHjiNQFPTkJCjXjmiQN1cgBHnIYehToMDUbFIxih%2B6g47kV7ocHWY7TdtObj%2B8SdMPbhh3LwhNj2EMCRMFZAICkQbexACkuyE%2FPkLQ4e9gtvJ3z3ZkUbzOSNirNNWsbN72ML0l88gQnrECRJvwNbMdIGPM0cq9IiL3fpfZ5l19UtNTw7NEh6%2Fm1WrAOhlsrfGfnutox%2FWvW2vL5%2BAQ%3D%3D

我的代码:

using (var request = new HttpRequest())
        {
            request.Proxy = HttpProxyClient.Parse("127.0.0.1:8888");
            request.IgnoreProtocolErrors = true;
            request.KeepAlive = true;
            request.ConnectTimeout = 10000;
            request.AllowAutoRedirect = false;
            request.AddParam("nfo[email]", "kirtchukdaniel@gmail.com");
            request.AddParam("nfo[reGoogle]", "auto-detect");
            request.AddParam("g-recaptcha-response", "");
            request.AddParam("nfo[hash_page]", "tsmd-2016-facebook");
            request.AddParam("nfo[system-2016]", "active");
            request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134";
            request.AddHeader("Host ", "www.bitdefender.com");
            request.Referer = "https://www.bitdefender.com/site/Facebook/redFreeDownload?nfo%5Bemail%5D=agytnpbu%40gmx.com&nfo%5BreGoogle%5D=auto-detect&g-recaptcha-response=&nfo%5Bhash_page%5D=tsmd-2016-facebook&nfo%5Bsystem-2016%5D=active";

            var attempt = request.Get("https://www.bitdefender.com/site/Promotions/spreadPromotions/").ToString();
            Console.WriteLine(attempt);
        }
        Console.ReadKey();

1 个答案:

答案 0 :(得分:0)

答案很简单。

request.Cookies = new CookieDictionary();

也删除此内容(否则可能会引发异常)。

request.AddHeader("Host ", "www.bitdefender.com");
// =>
// request.AddHeader("Host ", "www.bitdefender.com");