永发信息网

关于webResponse类使用的时候超时问题

答案:3  悬赏:0  手机版
解决时间 2021-01-13 03:58
关于webResponse类使用的时候超时问题
最佳答案
把我封装的方法给你吧:
    static string GetPage(string url, string param, string proxy, string method)
    {
        if (method != "POST" && !string.IsNullOrEmpty(param)){
            if(url.IndexOf('?') > 0)
                url += "&" + param;
            else
                url += "?" + param;
        }
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Headers.Add(HttpRequestHeader.CacheControl, "no-cache");
        request.Headers.Add("Accept-Charset", "utf-8");
        request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0;)";
        request.AllowAutoRedirect = true; //出现301或302之类的转向时,是否要转向
        if (!string.IsNullOrEmpty(proxy))
        {
            string[] tmp = proxy.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
            int port = 80;
            if (tmp.Length >= 2)
                if (!int.TryParse(tmp[1], out port))
                    port = 80;
            request.Proxy = new WebProxy(tmp[0], port);
        }
        request.Method = method;//"GET";//"POST";
        request.ContentType = "application/x-www-form-urlencoded";
        // 设置提交的数据
        if (method == "POST" && !string.IsNullOrEmpty(param))
        {
            // 把数据转换为字节数组
            byte[] l_data = Encoding.UTF8.GetBytes(param);
            request.ContentLength = l_data.Length;
            // 必须先设置ContentLength,才能打开GetRequestStream
            // ContentLength设置后,reqStream.Close前必须写入相同字节的数据,否则Request会被取消
            using (Stream newStream = request.GetRequestStream())
            {
                newStream.Write(l_data, 0, l_data.Length);
                newStream.Close();
            }
        }
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        using (Stream stream = response.GetResponseStream())
        {
            using (var sr = new StreamReader(stream, Encoding.UTF8))
            {
                return sr.ReadToEnd();
            }
        }
    }
全部回答
你 判断你访问的网址手动访问下是不是可以访问?
试试设置ConentLength
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3减86分之3算式怎么列
全国两会发言人答记者问时为什么念稿子,难道
昨天咨询过朋友,朋友说北京应该会有好的花艺
简述啤酒发酵的过程。简述上面酵母和下面酵母
中发长脸适合什么发型图片
金乾卦西四命办公室坐向
隆鼻材料都有什么?刘彦军做的行不行
因为他对工作认真负责,所以什么补充句子
混泥土路面凹凸槽怎么做
小伙子轻信网络加盟店被骗数十万 有多少人被
ACCESS中“有效性规则”填写<=DateSerial(Yea
求一首歌名。 有句词是。与天同醉 后面也是四
捷安特27.5×2.05轮胎周长
下图再现了某条约的签字场景,该条约中破坏中
鹅石板美蛙怎么样
推荐资讯
承德隆化御权城洗浴怎么样
求助贴 Intel Iris Pro 1536 MB 这个显卡怎么
He gets up late还是lately为什么?
皎洁明媚的读音
济南话生气的怎么说
帮课和查学哪个好?
若( )和( )是反比例函数 图像上的两点
国电南瑞科技股份有限公司的上市情况
单选题下列各项中,属于吸烟对人体产生危害的
请问父母过生日,我想给父母念经或咒为父母增
access可以用来做什么
单选题下列各句中,不含通假字的一项是A.师者
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?