WebRequest请求范例

WebRequest是.NET Framework的抽象基类,用于无协议依赖地从Internet请求数据。它处理WebRequest实例,而具体的协议子类(如HTTP或FTP)负责执行请求细节。通过URI选择合适的子类来创建请求,可以注册子类处理特定协议或服务器请求。
摘要由CSDN通过智能技术生成

WebRequest类是.NET Framework中“请求/响应”模型的abstract基类,用于访问Internet数据。使用WebRequest类请求/响应模型的应用程序可以用协议不可知的方式从Internet请求数据,在这种方式下,应用程序处理WebRequest类的实例,而协议特定的子类则执行请求的具体细节,请求从应用程序发送到某个特定的URI,如服务器上的网页。URI从一个为应用程序注册的WebRequest子类列表中确定要创建的适当子类。注册WebRequest子类通常是为了处理某个特定的协议(如HTTP或FTP),但是也可以注册它以处理对特定服务器或服务器上的路径的请求。

请求回传的数据类型枚举

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WebHttp.Common
{
    public enum ContentTypeEnum
    {
        /// <summary>
        /// xml
        /// </summary>
        XML = 0,
        /// <summary>
        /// json
        /// </summary>
        JSON = 1
    }
}

配置代理服务器的地址

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WebHttp.Common
{
    public class HttpClientConstant
    {
        /// <summary>
        /// WebProxyHost在configuration中的配置名
        /// </summary>
        public static string WEB_PROXY_HOST = "WebProxyHost";

        /// <summary>
        /// WebProxyPort在configuration中的配置名
        /// </summary>
        public static string WEB_PROXY_PORT = "WebProxyPort";
    }
}

请求类接口,定义了Post请求与Get请求

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WebHttp.Common
{
    public interface IHttpClient
    {
        /// <summary>
        /// post请求体
        /// </summary>
        /// <param name="url"></param>
        /// <param name="strParams">body中的参数</param>
        /// <returns></returns>
        string DoPost(string url, string strParams);

        /// <summary>
        /// get请求数据
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        string DoGet(string url);
    }
}

请求的具体事项类

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace WebHttp.Common
{
    public class WebHttp : IHttpClient
    {
        ContentTypeEnum EnumContentType { get; set; }

        /// <summary>
        /// 如果产生异常时,重试多少次
        /// </summary>
        int tryTime = 1;
        public WebHttp(ContentTypeEnum enumContentType)
        {
            EnumContentType = enumContentType;
        }

        /// <summary>
        /// 通过Pos
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值