1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
使用POST方式可以向别的页面发送请求,并获取返回结果。 可以从一个页面发送POST到另一个页面,也可以在winform工程中使用HTTPRequest发送POST到一个页面。我们拿ASP.NET的aspx页面做个例子,从一个aspx页面POST.aspx ,发送请求到Receive.aspx页面。 1.首先,建立工程,添加两个页面,Post.aspx和Receive.aspx 在post页面中放一个BUTTON,在它的click方法中我们可以写这样的一段代码: private void Button1_Click(object sender, System.EventArgs e) { //XML文件路径 string xmlFileName = Server.MapPath("File/Frame.xml"); HttpWebRequest req = null; try { //设置要POST到的页面URL,这里中文参数或者有特殊符号的,要进行编码. string url = "http://localhost/Receive.aspx" + "?DwgFileName="+HttpUtility.UrlEncode("NNN+10111452505252706++2.bmp,NNN+10111457375757706++13.bmp")+ "&PltFileName="+HttpUtility.UrlEncode("NNN+10110934363434706++主页.JPG"); //创建一个HttpWebRequest对象 req = (HttpWebRequest) HttpWebRequest.Create(url); //设置它提交数据的方式post req.Method = "POST"; //设置 Content-type HTTP 标头的值 req.ContentType = "text/xml";// "application/x-www-form-urlencoded;charset=gb2312"; using (StreamWriter requestWriter = new StreamWriter(req.GetRequestStream())) { //定义一个StreamReader对象,用于读取xml文件的内容 StreamReader reader = new StreamReader(xmlFileName); string ret = reader.ReadToEnd(); reader.Close(); requestWriter.WriteLine(ret);//将读取的内容写入到RequestStream中。 } Response.Write("发出去了"); } catch(Exception ex) { throw ex; } finally{ } } 2. 再来看一下接收页面Receive.aspx 在Receive.aspx页面的PageLoad方法中进行接收POST过来的请求。 private void Page_Load(object sender, System.EventArgs e) { if(Request.RequestType == "POST") { //Response.ContentType = "text/xml"; string pltFileName = Request.QueryString["PltFileName"];//PLT文件名 string dwgFileName = Request.QueryString["DwgFileName"];//dwg文件名列表 :111.dwg,222.dwg,333.dwg..... //接收并读取POST过来的XML文件流 StreamReader reader = new StreamReader(Request.InputStream); String xmlData = reader.ReadToEnd(); try { //声明一个XMLDoc文档对象,LOAD()xml字符串 XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlData); //得到XML文档根节点 XmlElement root = doc.DocumentElement; .....进行自己对XML的操作。。。 } |
from:https://www.cnblogs.com/shenyixin/p/4630698.html