当前位置: 首页>>代码示例>>C#>>正文


C# Site.GetHttpProxyFromPool方法代码示例

本文整理汇总了C#中Site.GetHttpProxyFromPool方法的典型用法代码示例。如果您正苦于以下问题:C# Site.GetHttpProxyFromPool方法的具体用法?C# Site.GetHttpProxyFromPool怎么用?C# Site.GetHttpProxyFromPool使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Site的用法示例。


在下文中一共展示了Site.GetHttpProxyFromPool方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetHttpWebRequest

        protected HttpWebRequest GetHttpWebRequest(Request request, Site site, IDictionary headers)
        {
            if (site == null) return null;

            HttpWebRequest httpWebRequest = SelectRequestMethod(request);

            httpWebRequest.UserAgent = site.UserAgent ??
                                       "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0";

            if (site.IsUseGzip)
            {
                httpWebRequest.Headers.Add("Accept-Encoding", "gzip");
            }

            // headers
            if (headers != null)
            {
                var enumerator = headers.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    var key = enumerator.Key;
                    var value = enumerator.Value;
                    httpWebRequest.Headers.Add(key.ToString(), value.ToString());
                }
            }

            // cookie
            httpWebRequest = GeneratorCookie(httpWebRequest, site);

            //check:
            httpWebRequest.Timeout = site.Timeout;
            httpWebRequest.ContinueTimeout = site.Timeout;
            httpWebRequest.ReadWriteTimeout = site.Timeout;
            httpWebRequest.AllowAutoRedirect = true;

            if (headers != null)
            {
                foreach (DictionaryEntry entry in headers)
                {
                    httpWebRequest.Headers.Add(entry.Key.ToString(), entry.Value.ToString());
                }
            }

            if (site.GetHttpProxyPool().Enable)
            {
                HttpHost host = site.GetHttpProxyFromPool();
                httpWebRequest.Proxy = new WebProxy(host.Host, host.Port);
                request.PutExtra(Request.Proxy, host);
            }

            return httpWebRequest;
        }
开发者ID:hwpayg,项目名称:DotnetSpider,代码行数:52,代码来源:HttpClientDownloader.cs


注:本文中的Site.GetHttpProxyFromPool方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。