申公前几日和一个客户做系统对接,以前和客户对接一般采用webservice或者json 解析的方式,直接调用标准解析就可以。没想到客户用“请求响应模式”,直接访问人家的接口地址取数据,无奈打造一个通用的访问类吧

站在用户的角度思考问题,与客户深入沟通,找到金安网站设计与金安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟空间、企业邮箱。业务覆盖金安地区。
参考MSDN的解释:
HttpWebRequest类:提供WebRequest类的Http特定的实现。
HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用构造函数创建HttpWebRequest实例,请使用System.Net.WebRequest.Create(URI uriString)来创建实例,如果URI是Http://或Https://, 
返回的是HttpWebRequest对象。(建立请求特定URI的对象) 
当向资源发送数据时,GetRequestStream方法返回用于发送数据的Stream对象。(获取请求数据的流对象) 
GetResponse方法向RequestUri属性指定的资源发出同步请求并返回包含该响应的HttpWebResponse。(获取来自internet的响应)
好了,直接上代码:
using System.Net;
using System.IO;
using System.Security.Cryptography.X509Certificates;
using System.Net.Security;
using System.Windows.Forms;
/*    
 * 作者:申公
 * 日期:
 * 说明:此类提供http,POST和GET访问远程接口
 * */
namespace ZJS.EDI.Business.HttpUtility
{
    /// 
    /// 有关HTTP请求的辅助类 
    ///  
    public class HttpWebResponseUtility
    {
        private static readonly string DefaultUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";//浏览器
        private static Encoding requestEncoding = System.Text.Encoding.UTF8;//字符集
        ///   
        /// 创建GET方式的HTTP请求  
        ///    
        /// 请求的URL  
        /// 请求的超时时间  
        /// 请求的客户端浏览器信息,可以为空  
        /// 随同HTTP请求发送的Cookie信息,如果不需要身份验证可以为空  
        ///   
        /// 创建POST方式的HTTP请求
        ///    
        /// 请求的URL  
        /// 随同请求POST的参数名称及参数值字典  
        /// 随同HTTP请求发送的Cookie信息,如果不需要身份验证可以为空  
        /// 
        /// 获取数据
        ///  
        /// 响应对象
        /// 
        /// 入口方法:获取传回来的XML文件
        ///  
        /// 请求的URL  
        /// 随同请求POST的参数名称及参数值字典  
        /// 随同HTTP请求发送的Cookie信息,如果不需要身份验证可以为空  
        /// 调用实例:/// 调用主程序
/// 
public class Program
{
  
    static string strUrlPre = ; // 测试环境Url
    static string strKey = ;// 签名密钥
    static string strMethod = ;// 方法编号
    static void Main(string[] args)
    {
        //MessageBox.Show("请注意,马上将进行保存操作!");           
        StringBuilder sbRequestData =;//请求参数
        
        // 发送请求
        StringBuilder sbUrl = new StringBuilder(); // 请求URL内容
        sbUrl.Append(strUrlPre);
        sbUrl.Append("?");
        sbUrl.Append("sign=" + strKeyMD5);
        sbUrl.Append("&" + sbSystemArgs.ToString());
        String strUrl = sbUrl.ToString();
        //解析xml文件
        string resultXML = HttpWebResponseUtility.GetResultXML(sbUrl.ToString(), sbRequestData.ToString(), null);
               
    }
}当前标题:HttpWebRequest和HttpWebResponse
转载注明:http://www.scyingshan.cn/article/jiocoj.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 