1. HttpWebRequest request = WebRequest.Create(@"http://localhost:8080/mail/SendMail") as HttpWebRequest;
  2.  
  3. request.Method = "post";
  4.  
  5. User user = (User)Session["CurrentUser"];
  6.  
  7. // 拼接成请求参数串,并进行编码,成为字节
  8. string postData = "send=" + send + "&copy=" + copy + "&secret=" + secret + "&subject=" + HttpUtility.UrlEncode(this.txtTopic.Text, Encoding.GetEncoding("GBK")) + "&username=" + user.Email + "&pass=" + user.MailPwd + "&content=" + HttpUtility.UrlEncode(this.ftbContent.Text, Encoding.GetEncoding("GBK"));
  9. ASCIIEncoding encoding = new ASCIIEncoding();
  10. byte[] byte1 = encoding.GetBytes(postData);
  11. // 设置请求的参数形式
  12. request.ContentType = "application/x-www-form-urlencoded";
  13. request.Headers.Add("content", "text/html; charset=gbk");
  14.  
  15. // 设置请求参数的长度.
  16. request.ContentLength = byte1.Length;
  17.  
  18. // 取得发向服务器的流
  19. System.IO.Stream newStream = request.GetRequestStream();
  20.  
  21. // 使用 POST 方法请求的时候,实际的参数通过请求的 Body 部分以流的形式传送
  22. newStream.Write(byte1, , byte1.Length);
  23.  
  24. // 完成后,关闭请求流.
  25. newStream.Close();
  26.  
  27. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  28.  
  29. // 然后可以得到以流的形式表示的回应内容
  30. System.IO.Stream receiveStream
  31. = response.GetResponseStream();
  32.  
  33. // 还可以将字节流包装为高级的字符流,以便于读取文本内容
  34. // 需要注意编码
  35. System.IO.StreamReader readStream
  36. = new System.IO.StreamReader(receiveStream, Encoding.GetEncoding("GB2312"));
  37.  
  38. string res = readStream.ReadToEnd();
  39.  
  40. // 完成后要关闭字符流,字符流底层的字节流将会自动关闭
  41. response.Close();
  42. readStream.Close();
  1. HttpWebRequest req = HttpWebRequest.Create(@"http://localhost:8080/mail/getmail.jsp") as HttpWebRequest;
  2.  
  3. req.Method = "post";
  4.  
  5. User user = (User)Session["CurrentUser"];
  6. // 拼接成请求参数串,并进行编码,成为字节
  7. string postData = "page=" + PageNor + "&username=" + user.Email + "&pass=" + user.MailPwd;
  8. ASCIIEncoding encoding = new ASCIIEncoding();
  9. byte[] byte1 = encoding.GetBytes(postData);
  10. // 设置请求的参数形式
  11. req.ContentType = "application/x-www-form-urlencoded";
  12.  
  13. // 设置请求参数的长度.
  14. req.ContentLength = byte1.Length;
  15.  
  16. // 取得发向服务器的流
  17. System.IO.Stream newStream = req.GetRequestStream();
  18.  
  19. // 使用 POST 方法请求的时候,实际的参数通过请求的 Body 部分以流的形式传送
  20. newStream.Write(byte1, , byte1.Length);
  21.  
  22. // 完成后,关闭请求流.
  23. newStream.Close();
  24.  
  25. HttpWebResponse response = (HttpWebResponse)req.GetResponse();
  26.  
  27. // 然后可以得到以流的形式表示的回应内容
  28. System.IO.Stream receiveStream
  29. = response.GetResponseStream();
  30.  
  31. // 还可以将字节流包装为高级的字符流,以便于读取文本内容
  32. // 需要注意编码
  33. System.IO.StreamReader readStream
  34. = new System.IO.StreamReader(receiveStream, Encoding.GetEncoding("GB2312"));
  35.  
  36. string res = readStream.ReadToEnd();
  37.  
  38. // 完成后要关闭字符流,字符流底层的字节流将会自动关闭
  39. response.Close();
  40. readStream.Close();
  41.  
  42. if (!res.Equals(""))
  43. {
  44. DataTable dt = new DataTable();
  45. dt.Columns.Add("id");
  46. dt.Columns.Add("subject");
  47. dt.Columns.Add("sender");
  48. dt.Columns.Add("date");
  49. string[] ss = res.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
  50. foreach (string s in ss)
  51. {
  52. DataRow dr = dt.NewRow();
  53. string[] str = s.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
  54. dr["id"] = str[];
  55. dr["subject"] = str[];
  56. dr["sender"] = str[];
  57. dr["date"] = DateTime.Parse(str[]);
  58. dt.Rows.Add(dr);
  59. }
  60.  
  61. int totalCount = ;
  62. User curUser = (User)Session["CurrentUser"];
  63. int isDelete = ;
  64.  
  65. DataTable dt1 = SendProcessManager.GetSendAffairsByProc(curUser.ID, isDelete, PageNor, CommonInfo.PageSize, ref totalCount);
  66. if (totalCount > && dt != null && dt.Rows.Count == )
  67. {
  68. PageNor--;
  69. dt1 = SendProcessManager.GetSendAffairsByProc(curUser.ID, isDelete, PageNor, CommonInfo.PageSize, ref totalCount);
  70. }
  71.  
  72. List<MessageModel> list = new List<MessageModel>();
  73.  
  74. foreach (DataRow dr in dt.Rows)
  75. {
  76. MessageModel mm = new MessageModel();
  77. mm.Id = dr["id"].ToString();
  78. mm.Subject = dr["subject"].ToString();
  79. mm.Sender = dr["sender"].ToString();
  80. mm.Date = DateTime.Parse(dr["date"].ToString());
  81. mm.Status = "";
  82.  
  83. list.Add(mm);
  84. }
  85.  
  86. foreach (DataRow dr in dt1.Rows)
  87. {
  88. MessageModel mm = new MessageModel();
  89. mm.Id = dr["INFOID"].ToString();
  90. mm.CurLevel = dr["CurLevel"].ToString();
  91. mm.UesrID = dr["UserID"].ToString();
  92. mm.Date = DateTime.Parse(dr["SENDTIME"].ToString());
  93. mm.Subject = dr["Topic"].ToString();
  94. mm.AnnexCount = dr["AnnexCount"].ToString();
  95. mm.ReadStatus = dr["ReadStatus"].ToString();
  96. mm.Position = dr["Position"].ToString();
  97. mm.Sender = dr["UserName"].ToString();
  98. mm.RelateUserID = dr["RelateUserID"].ToString();
  99. mm.InfoTableType = dr["InfoTableType"].ToString();
  100. mm.Level = dr["Level"].ToString();
  101. mm.Status = "";
  102.  
  103. list.Add(mm);
  104. }
  105.  
  106. var m = from l in list orderby l.Date descending select l;
  107.  
  108. this.gvAffairs.DataSource = m;
  109. this.gvAffairs.DataBind();
  1. HttpWebRequest request = WebRequest.Create(@"http://localhost:8080/mail/maildetail.jsp") as HttpWebRequest;
  2.  
  3. request.Method = "post";
  4.  
  5. // 拼接成请求参数串,并进行编码,成为字节
  6. string postData = "id=" + this.hfAffairId.Value + "&username=" + this.username + "&pass=" + this.pass;
  7. ASCIIEncoding encoding = new ASCIIEncoding();
  8. byte[] byte1 = encoding.GetBytes(postData);
  9. // 设置请求的参数形式
  10. request.ContentType = "application/x-www-form-urlencoded";
  11.  
  12. // 设置请求参数的长度.
  13. request.ContentLength = byte1.Length;
  14.  
  15. // 取得发向服务器的流
  16. System.IO.Stream newStream = request.GetRequestStream();
  17.  
  18. // 使用 POST 方法请求的时候,实际的参数通过请求的 Body 部分以流的形式传送
  19. newStream.Write(byte1, , byte1.Length);
  20.  
  21. // 完成后,关闭请求流.
  22. newStream.Close();
  23.  
  24. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  25.  
  26. // 然后可以得到以流的形式表示的回应内容
  27. System.IO.Stream receiveStream
  28. = response.GetResponseStream();
  29.  
  30. // 还可以将字节流包装为高级的字符流,以便于读取文本内容
  31. // 需要注意编码
  32. System.IO.StreamReader readStream
  33. = new System.IO.StreamReader(receiveStream, Encoding.GetEncoding("GB2312"));
  34.  
  35. string res = readStream.ReadToEnd();
  36.  
  37. // 完成后要关闭字符流,字符流底层的字节流将会自动关闭
  38. response.Close();
  39. readStream.Close();
  40.  
  41. string[] ss = res.Split(new string[] { "&#@" }, StringSplitOptions.RemoveEmptyEntries);
  42.  
  43. this.hfAffairId.Value = ss[];
  44. this.lblTopic.Text = ss[];
  45. this.lblContents.Text = ss[];
  46. this.lblCreateUser.Text = ss[];
  47. this.lblBeginAffairTime.Text = DateTime.Parse(ss[]).ToString("yyyy-MM-dd HH:mm:ss");
  48. this.flowTr.Style.Add("display", "none");
  49. this.sendTr.Style.Add("display", "");
  50. this.lblSend.Text = ((User)Session["CurrentUser"]).Email;

.NET后台访问其他站点代码整理的更多相关文章

  1. Part 2:模型与后台管理admin站点--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  2. HTTP请求代码整理

    HTTP请求代码整理 类别 代码 注释 1xx – 信息提示 100 继续 101 切换协议 2xx - 成功 200 确定.客户端请求已成功 201 已创建 202 已接受 203 非权威性信息 2 ...

  3. 移动端访问PC站点时自动跳转至移动站点

    方法一: 百度Site APP的uaredirect.js 实现手机访问,自动跳转 <script src="http://siteapp.baidu.com/static/webap ...

  4. YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法

    上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...

  5. Chrome应用技巧之代码整理。

    我们有时候在看别人站点代码时往往是经过压缩的,代码都在一行上了,调试非常是困难,今天给大家介绍一种基本Chrome浏览器的代码整理方法.请看图:

  6. node.js简单搭建服务,访问本地站点文件

    1.安装nodejs服务(从官网下载安装),node相当于apache服务器 2.在自己定义的目录下新建服务器文件如 server.js 例如,我在D:\nodeJs下创建了server.js文件 v ...

  7. C++模拟Http/Https访问web站点

    一.概述 1.Http与Https的区别与联系 在OSI参考模型中Http与Https均属于应用层协议.Http即Hypertext Transfer Protocol,超文本传输协议:而Https为 ...

  8. ACME[free https] Linux中使用curl命令访问https站点4种常见错误和解决方法

    free https certification generator https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 每一种客户 ...

  9. 搭建nodejs服务,访问本地站点文件

    搭建nodejs服务器步骤: 1.安装nodejs服务(从官网下载安装) 2.在自己定义的目录下新建服务器文件如 server.js 例如,我在E:\PhpProject\html5\websocke ...

随机推荐

  1. CentOS日常维护及常用脚本

    [root@-.x.x xiewenming]# curl myip.ipip.net 当前 IP:42.62.x.x 来自于:中国 北京 北京 联通/电信 www.17ce.com  cdn解析网站 ...

  2. MyBatis小案例完善增强

    https://blog.csdn.net/techbirds_bao/article/details/9233599 上链接为一个不错的Mybatis进阶博客 当你把握时间,时间与你为伍. 将上一个 ...

  3. Mysql加锁处理分析-基于InnoDB存储引擎

    MVCC MySQL INNODB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-VERSION Concurrency Control).MVCC最大的好处,相信也是耳熟能详: ...

  4. JDK 1.8 ConcurrentHashMap 源码剖析

    转载两篇不错的文章: 第一篇: 前言 HashMap是我们平时开发过程中用的比较多的集合,但它是非线程安全的,在涉及到多线程并发的情况,进行put操作有可能会引起死循环,导致CPU利用率接近100%. ...

  5. SpringBoot与Dubbo整合下篇

    (1)pom.xml引入相关依赖jar包,如下: <dependency> <groupId>com.alibaba</groupId> <artifactI ...

  6. 使用 while 循环

    与 for 循环不同,while 循环会一直运行,直到给定条件不满足为止.例如,下面的 while 循环从 x=0 开始.每次循环都会检查 x<=10 是否成立.如果成立,就执行循环内部的表达式 ...

  7. 炫酷的CSS3抖动样式:CSS Shake

    CSS Shake是一个使用CSS3实现的动画样式,使用SASS编写,利用它我们可以实现多种不同样式的抖动效果(如下面的GIF图像): 炫酷的CSS3抖动样式:CSS Shake 这是一个很微小的动画 ...

  8. js 面试题总结

    面试题解析 window.number = 1; var obj = { number: 4, dbl: (function(){ console.log(obj.number); this.numb ...

  9. Web开发中的显示与隐藏

    大多数编程语言,在平开发过程中,都是会遇到一些特殊的场景,需要实现显示或者隐藏来达到我们想要的效果:然而实现的方式有多种,今天就写一下,希望可以帮到各位. 小编我学习前端1年了,特意写写博客来回顾一下 ...

  10. Java研发工程师知识点总结

    Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 ...