博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebH
阅读量:4312 次
发布时间:2019-06-06

本文共 4687 字,大约阅读时间需要 15 分钟。

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Text;namespace Common{    public class WebH    {        WebProxy proxy;        public string ContentType { get; set; } = "application/x-www-form-urlencoded";        public string Accept { get; set; } = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";        public string UserAgent { get; set; } = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36";        public CookieContainer Cookie { get; set; } = new CookieContainer();        public WebH() { }        public WebH(WebProxy proxy)        {            this.proxy = proxy;        }        public WebH(string url, string user, string pwd)        {            proxy = new WebProxy()            {                Address = new Uri(url),//"http://openproxy..com:8080"                Credentials = new NetworkCredential(user, pwd),            };        }        public string GetHtml(string url)        {            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);            HttpWebResponse response = null;            try            {                request.Method = "GET";                request.Proxy = proxy;                request.CookieContainer = Cookie;                request.ContentType = ContentType;                //request.ServicePoint.ConnectionLimit = 300;                response = (HttpWebResponse)request.GetResponse();                Stream responseStream = response.GetResponseStream();                StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);                return streamReader.ReadToEnd();            }            catch (Exception e)            {                throw e;            }            finally            {                request.Abort();                if (response != null)                    response.Close();            }        }        public string PostData(string url, string param, Action
action = null) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); try { byte[] bs = Encoding.ASCII.GetBytes(param); request.Method = "POST"; request.Accept = Accept; request.UserAgent = UserAgent; request.Proxy = proxy; request.ContentType = ContentType; request.ContentLength = bs.Length; request.CookieContainer = Cookie; request.KeepAlive = true; request.Referer = "https://www3.wipo.int/dasapplicant/en/pages/workbench/applicant.xhtml"; action?.Invoke(request.Headers); using (Stream reqStream = request.GetRequestStream()) { reqStream.Write(bs, 0, bs.Length);//写数据时开始访问 } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { return new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd(); } } catch (Exception ex) { return ex.Message; } finally { request.Abort(); } } public string PostDataAJAX(string url, string param) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); try { byte[] bs = Encoding.ASCII.GetBytes(param); request.Method = "POST"; request.Accept = Accept; request.UserAgent = UserAgent; request.Proxy = proxy; request.ContentType = ContentType; request.ContentLength = bs.Length; request.CookieContainer = Cookie; request.KeepAlive = true; //request.Connection = "keep-alive"; request.Headers.Add("X-Requested-With", "XMLHttpRequest"); using (Stream reqStream = request.GetRequestStream()) { reqStream.Write(bs, 0, bs.Length);//写数据时开始访问 } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { return new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd(); } } catch (Exception ex) { return ex.Message; } finally { //request.Abort(); } } }}

 

转载于:https://www.cnblogs.com/lee2011/p/7421641.html

你可能感兴趣的文章
ZeroMQ——一个轻量级的消息通信组件
查看>>
JavaScript中数组和json的复制
查看>>
C语言多线程编程二
查看>>
转载:从集群计算到云计算
查看>>
服务器文件管理
查看>>
作业2
查看>>
ios上架报错90080,90087,90209,90125 解决办法
查看>>
给button添加UAC的小盾牌图标
查看>>
如何退出 vim
查看>>
Robberies
查看>>
get post 提交
查看>>
R安装
查看>>
跟我一起学C++
查看>>
Android自动化测试之环境搭建
查看>>
JavaScript运算符
查看>>
html position布局
查看>>
VTP
查看>>
Linux内核分析第一周——计算机是如何工作的
查看>>
Windows 自动启动 bat
查看>>
不规则按钮,支持普通Button,Radio Button, Check Button
查看>>