分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

http post

发布时间:2023-09-06 01:32责任编辑:胡小海关键词:http

1.封装post方法发送

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Runtime.Serialization.Json;using System.Security.Cryptography;using System.Text;using System.Web;public class WebPostManager{ ???/// <summary> ???/// 发送请求到web服务器,并接受消息,T 是接受的class结构,T2是发送的class结构 ???/// </summary> ???/// <typeparam name="T"></typeparam> ???/// <typeparam name="T2"></typeparam> ???/// <param name="obj"></param> ???/// <param name="url"></param> ???/// <returns></returns> ???public static T CallWebServerPost<T, T2>(T2 obj,string url) ???{ ???????string poststr = JsonSerializer(obj); ???????string backmsg = FinalCallWebServerPost(poststr, url); ???????T js = Deserialize<T>(backmsg); ???????return js; ???} ???public static string FinalCallWebServerPost(string postDataStr,string url) ???{ ???????Uri myuri = new Uri(url); ???????var request = WebRequest.Create(myuri) as HttpWebRequest; ???????request.Method = "POST"; ???????request.ContentType = "application/json"; ???????Stream myRequestStream = request.GetRequestStream(); ???????StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.UTF8); ???????myStreamWriter.Write(postDataStr); ???????myStreamWriter.Close(); ???????var Response = request.GetResponse() as HttpWebResponse; ???????Stream myResponseStream = Response.GetResponseStream(); ???????StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8); ???????string retString = myStreamReader.ReadToEnd(); ???????myStreamReader.Close(); ???????myResponseStream.Close(); ???????return retString; ???} ???public static T Deserialize<T>(string json) ???{ ???????T obj = Activator.CreateInstance<T>(); ???????using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) ???????{ ???????????DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); ???????????return (T)serializer.ReadObject(ms); ???????} ???} ???public static string JsonSerializer<T>(T t) ???{ ???????DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); ???????MemoryStream ms = new MemoryStream(); ???????ser.WriteObject(ms, t); ???????string jsonString = Encoding.UTF8.GetString(ms.ToArray()); ???????ms.Close(); ???????return jsonString; ???}}

 2.调用例子

 ???????public static WebResponseBase ResetNoticeCommad(string Info) ???????{ ???????????WebRequestBase dic = new WebRequestBase(); ???????????dic.Type = (int)CommandType.ResetNotice; ???????????dic.Name = Info; ????????????dic.Sign = MD5Check.Sign(dic.PreSign, Info); ???????????return WebPostManager.CallWebServerPost<WebResponseBase, WebRequestBase>(dic, Url); ???????}

http post

原文地址:http://www.cnblogs.com/leolzi/p/8108607.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved