zoukankan      html  css  js  c++  java
  • WebH

    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<WebHeaderCollection> 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();
                }
            }
        }
    }
  • 相关阅读:
    用Instant client批量安装Oracle客户端安装配置
    Oracle case when 用法(转)
    C# 读写ini文件 【转】
    oracle数据库删除数据Delete语句和Truncate语句的对比
    C#使用instantclient连接 Oracle 10g (转)
    SQL Server CONVERT() 函数
    c#格式化数字(转)
    InstantClient安装使用 (转)
    C# 四个字节十六进制数和单精度浮点数之间的相互转化
    oracle case when的使用方法
  • 原文地址:https://www.cnblogs.com/lee2011/p/7421641.html
Copyright © 2011-2022 走看看