1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net.Security;
  6. using System.Security.Cryptography.X509Certificates;
  7. using System.Net;
  8. using System.IO;
  9. using System.IO.Compression;
  10. using System.Text.RegularExpressions;
  11. namespace HttpWebRequestDemo
  12. {
  13. class Program
  14. {
  15. 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)";
  16. private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
  17. {
  18. return true; //总是接受
  19. }
  20. public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters,Encoding charset)
  21. {
  22. HttpWebRequest request = null;
  23. //HTTPSQ请求
  24. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
  25. request = WebRequest.Create(url) as HttpWebRequest;
  26. request.ProtocolVersion = HttpVersion.Version10;
  27. request.Method = "POST";
  28. request.ContentType = "application/x-www-form-urlencoded";
  29. request.UserAgent = DefaultUserAgent;
  30. //如果需要POST数据
  31. if (!(parameters == null || parameters.Count == 0))
  32. {
  33. StringBuilder buffer = new StringBuilder();
  34. int i = 0;
  35. foreach (string key in parameters.Keys)
  36. {
  37. if (i > 0)
  38. {
  39. buffer.AppendFormat("&{0}={1}", key, parameters[key]);
  40. }
  41. else
  42. {
  43. buffer.AppendFormat("{0}={1}", key, parameters[key]);
  44. }
  45. i++;
  46. }
  47. byte[] data = charset.GetBytes(buffer.ToString());
  48. using (Stream stream = request.GetRequestStream())
  49. {
  50. stream.Write(data, 0, data.Length);
  51. }
  52. }
  53. return request.GetResponse() as HttpWebResponse;
  54. }
  55. static void Main(string[] args)
  56. {
  57. string url = "https://192.168.1.101/httpOrg/create";
  58. Encoding encoding = Encoding.GetEncoding("utf-8");
  59. IDictionary<string, string> parameters = new Dictionary<string, string>();
  60. parameters.Add("authuser", "*****");
  61. parameters.Add("authpass", "*****");
  62. parameters.Add("orgkey","*****");
  63. parameters.Add("orgname", "*****");
  64. HttpWebResponse response = Program.CreatePostHttpResponse(url,parameters,encoding);
  65. //打印返回值
  66. Stream stream = response.GetResponseStream();   //获取响应的字符串流
  67. StreamReader sr = new StreamReader(stream); //创建一个stream读取流
  68. string html = sr.ReadToEnd();   //从头读到尾,放到字符串html
  69. Console.WriteLine(html);
  70. }
  71. }
  72. }

https post的更多相关文章

  1. 【流量劫持】躲避 HSTS 的 HTTPS 劫持

    前言 HSTS 的出现,对 HTTPS 劫持带来莫大的挑战. 不过,HSTS 也不是万能的,它只能解决 SSLStrip 这类劫持方式.但仔细想想,SSLStrip 这种算劫持吗? 劫持 vs 钓鱼 ...

  2. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  3. 7.让网站支持http和https的访问方式

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 怎么让网站在本地支持SSL?http://www.c ...

  4. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  5. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  6. WebAPi之SelfHost自创建证书启动Https疑难解惑及无法正确返回结果

    前言 话说又来需求了,之前对于在SelfHost中需要嵌套页面并操作为非正常需求,这回来正常需求了,客户端现在加了https,老大过来说WebAPi访问不了了,这是什么情况,我去试了试,还真是这个情况 ...

  7. 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事

    WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...

  8. 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】

    今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...

  9. https 安全验证问题

    最近为了满足苹果的 https 要求, 经过努力终于写出了方法 验证 SSL 证书是否满足 ATS 要求 nscurl --ats-diagnostics --verbose https://你的域名 ...

  10. Ubuntu下配置apache开启https

    一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...

随机推荐

  1. 【 bzoj4537】HNOI2016 最小公倍数

    首先将边按a的值分组,每$\sqrt{m}$一组. 对于每一组,将符合一组a的询问选出来,将这些询问和这一块之前的边(a一定小于这些询问)按b排序,然后交替插入,询问,对于一个询问,在当前块也有可能有 ...

  2. LearningDocker--Chapter3--Building images

    This chapter is quite different from the earlier ones, and it is in this chapter to clearly describe ...

  3. Sublime Text 快捷键--持续更新

    快捷键 功能 说明 ctrl+D 选取一个单词连续按组合键会选择页面所有相同的这个单词   ctrl+Z 撤销上一个操作   ctrl+Y 恢复上一个操作   ctrl+shift+F 底部打开搜索全 ...

  4. 匿名函数里的this的执行环境和指向--javascript

    重新看了下闭包,在javascript高级程序设计第二版里的闭包里有如下例子,例子中介绍说匿名函数的执行环境具有全局性和this指向window,对于这句话很费解,所以就想个方法验证下. var na ...

  5. 安卓handler、thread实现异步任务

    [转]http://blog.csdn.net/lanpy88/article/details/6659630 一Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.   ...

  6. TSP问题[动态规划]

    分析: 有用的量:城市集合V={a,b,c,d,--} 所以我们用 T(i,V) 表示从 城市 i 出发遍历集合 V 中的城市一遍且仅一遍后回到 i 所用的最少费用(这里可能表达不好,底下会看到,但是 ...

  7. centos 6.5中安装hadoop2.2

    1.配置集群机器之间ssh免密码登录 (1) ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 将id_dsa.pub 公钥 加入授权的key中去 这条命令的功能是把公 ...

  8. 使用菜单(Menu)资源

    前面已经介绍过Android的菜单支持,前面介绍菜单时分别介绍了如何使用Java代码来实现菜单和使用XML资源文件定义菜单. 实际上Android推荐使用XML资源文件来定义菜单,使用XML资源文件定 ...

  9. Apache自带压力测试工具ab用法简介

    ab命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp ...

  10. Eclipse 输入出错时自动查找类

    经常会只记得类的前半部分名称,这时可以双击这个没写完的类名,然后会弹出选择框: