POST请求

  1. /// <summary>
  2. /// POST请求获取信息
  3. /// </summary>
  4. /// <param name="url"></param>
  5. /// <param name="paramData"></param>
  6. /// <returns></returns>
  7. public string POST(string url, string paramData, int timeout = , List<System.Net.Cookie> cookies = null)
  8. {
  9. string ret = string.Empty;
  10. try
  11. {
  12. byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(paramData); //转化
  13. HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
  14. if (url.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
  15. {
  16. ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate); //rcvc;
  17. webReq.ProtocolVersion = HttpVersion.Version10;
  18. }
  19. SetProxy(ref webReq);
  20. webReq.Method = "POST";
  21. webReq.ContentType = "application/json; charset=utf-8";
  22. webReq.ServicePoint.Expect100Continue = false;
  23. //webReq.ContentType = "text/html;charset=utf-8";
  24. webReq.Timeout = timeout;
  25. webReq.ContentLength = byteArray.Length;
  26.  
  27. if (!string.IsNullOrEmpty(UserAgent))
  28. webReq.UserAgent = UserAgent;
  29. if (cookies != null && cookies.Count > )
  30. {
  31. webReq.CookieContainer = new CookieContainer();
  32.  
  33. string host = new Uri(url).Host;
  34. foreach (System.Net.Cookie c in cookies)
  35. {
  36. c.Domain = host;
  37. webReq.CookieContainer.Add(c);
  38. }
  39. }
  40. Stream newStream = webReq.GetRequestStream();
  41. newStream.Write(byteArray, , byteArray.Length);//写入参数
  42. newStream.Close();
  43. HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
  44. StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
  45. ret = sr.ReadToEnd();
  46. sr.Close();
  47. response.Close();
  48. newStream.Close();
  49. }
  50. catch (Exception ex)
  51. {
  52. ClassLoger.Error(ex, "HttpUtils/POST", url);
  53. throw ex;
  54. }
  55. return ret;
  56. }

GET请求

  1. /// <summary>
  2. /// GET请求获取信息
  3. /// </summary>
  4. /// <param name="url"></param>
  5. /// <returns></returns>
  6. public string GET(string url, int timeout = , List<System.Net.Cookie> cookies = null)
  7. {
  8. string ret = string.Empty;
  9. try
  10. {
  11. HttpWebRequest web = (HttpWebRequest)HttpWebRequest.Create(url);
  12. if (url.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
  13. {
  14. ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate); //rcvc;
  15. web.ProtocolVersion = HttpVersion.Version10;
  16. }
  17. SetProxy(ref web);
  18. web.Method = "GET";
  19. web.Timeout = timeout;
  20. if (!string.IsNullOrEmpty(UserAgent))
  21. web.UserAgent = UserAgent;
  22. if (cookies != null && cookies.Count > )
  23. {
  24. web.CookieContainer = new CookieContainer();
  25.  
  26. string host = new Uri(url).Host;
  27. foreach (System.Net.Cookie c in cookies)
  28. {
  29. c.Domain = host;
  30. web.CookieContainer.Add(c);
  31. }
  32. }
  33. HttpWebResponse res = (HttpWebResponse)web.GetResponse();
  34. Stream s = res.GetResponseStream();
  35. StreamReader sr = new StreamReader(s, Encoding.UTF8);
  36. ret = sr.ReadToEnd();
  37. sr.Close();
  38. res.Close();
  39. s.Close();
  40. //ClassLoger.Error("HttpUtils/GET",url+" "+ ret);
  41. }
  42. catch (Exception ex)
  43. {
  44. ClassLoger.Error(ex, "HttpUtils/GET", url);
  45. throw ex;
  46. }
  47. return ret;
  48. }

C#HTTP请求之POST请求和GET请求的更多相关文章

  1. axios中出现两次请求,OPTIONS请求和GET请求

    在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求 查看到浏览器NetWork有两次请求,请求url一样: 查找原因是浏览器对简单跨域请求和复杂跨域请求的处理区别. XMLHttpRe ...

  2. 转:PHP中的使用curl发送请求(GET请求和POST请求)

    原文地址:http://www.jb51.net/article/104974.htm 使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 1.初始 ...

  3. 简单介绍HTTP的请求(get请求和post请求)以及对应的响应的内容

    链接解析: https://oa.hbgf.net.cn/login.jsp;jsessionid=47084322738F8DB18D60752944DFD1AA http或者https表示使用的是 ...

  4. 浅说Get请求和Post请求

    Web 上最常用的两种 Http 请求就是 Get 请求和 Post 请求了.我们在做 java web 开发时,也总会在 servlet 中通过 doGet 和 doPost 方法来处理请求:更经常 ...

  5. JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...

  6. Ajax中get请求和post请求

    我们在使用Ajax向服务器发送数据时,可以采用Get方式请求服务器,也可以使用Post方式请求服务器,那么什么时候该采用Get方式,什么时候该采用Post方式呢? Get请求和Post请求的区别: 1 ...

  7. slave IO流程之二:注册slave请求和dump请求

    slave IO流程已经在http://www.cnblogs.com/onlyac/p/5815566.html中有介绍 这次我们要探索注册slave请求和dump请求的报文格式和主要流程. 一.注 ...

  8. loadrunner录制脚本如何选择使用get请求和post请求的方式

    在loadrunner工具里录制脚本时常常会用到get请求和post请求,有关loadrunner常用的这两类的请求主要有: get请求: web_url 和 web_link post请求: web ...

  9. iOS开发网络篇—GET请求和POST请求

    iOS开发网络篇—GET请求和POST请求 一.GET请求和POST请求简单说明 创建GET请求 // 1.设置请求路径 NSString *urlStr=[NSString stringWithFo ...

随机推荐

  1. win10 开发mfc 64位 ocx控件

    问题1.模块“XXX.ocx”加载失败 解决办法:项目--〉属性--〉常规-〉配置类型-〉  动态库(.dll) 修改为 静态库(.lib) 问题2.1>x64\Release\stdafx.o ...

  2. Linux 用户与组

    在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux ...

  3. find 递归/不递归 查找子目录的方法

    1.递归查找(find 命令 是递归遍历文件夹的) 命令:find . -name “*.txt” //当前路径下递归查找以.txt结尾的文件夹 2.不递归查找 find . -name “*.txt ...

  4. 解题(DirGraCheckPath--有向图的遍历(深度搜索))

    题目描述 对于一个有向图,请实现一个算法,找出两点之间是否存在一条路径. 给定图中的两个结点的指针DirectedGraphNode* a, DirectedGraphNode* b(请不要在意数据类 ...

  5. Linux下使用ps命令查看某个进程文件的启动位置

    ps -ef|grep shutdown ls -al /proc/4170

  6. PCA降维参数介绍

    https://www.cnblogs.com/pinard/p/6243025.html#undefined

  7. About Feature Scaling and Normalization

    在进行数据处理之前,一定要想一想,你的算法是用来做什么,这样才能选择如何对数据进行预处理. 参考网站: http://sebastianraschka.com/Articles/2014_about_ ...

  8. pyinstaller,scrapy和apscheduler

    一.scrapy拉起方式 1. 简单cmd拉起 from scrapy.cmdline import execute spiders = [ 'scrapy crawl liepin', 'scrap ...

  9. jQuery插件的一些想法

    之前在用ant-design和MUI的时候是一个系统的插件,应有尽有,当然jQuery也有系统性的插件,最近的项目没有用,所以一些需要插件的东西,需要哪种,找哪种,然后再引入项目中,首先百度搜索这类插 ...

  10. Git那些事儿

    Git是目前世界上最先进的分布式版本控制系统,适合多人协作开发的大型项目.我平常也经常使用git,来管理自己的几个小项目.简单说说git的原理和git的特点!(只有知道了一个工具的运行原理,设计思路, ...