一、日常经验记录

  1. c#post、get请求https接口获取数据

  1      private static CookieContainer m_Cookie = new CookieContainer();
  2         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)";
  3
  4
  5 /// <summary>
  6         /// 创建GET方式的HTTP请求
  7         /// </summary>
  8         /// <param name="url">请求的URL</param>
  9         /// <param name="timeout">请求的超时时间</param>
 10         /// <param name="userAgent">请求的客户端浏览器信息,可以为空</param>
 11         /// <param name="cookies">随同HTTP请求发送的Cookie信息,如果不需要身份验证可以为空</param>
 12         /// <returns></returns>
 13         public static string CreateGetHttpResponse(string url, int? timeout, string userAgent, CookieCollection cookies)
 14         {
 15             ServicePointManager.ServerCertificateValidationCallback += CheckValidationResult;
 16             if (string.IsNullOrEmpty(url))
 17             {
 18                 throw new ArgumentNullException("url");
 19             }
 20             HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
 21             request.Method = "GET";
 22             request.UserAgent = DefaultUserAgent;
 23             if (!string.IsNullOrEmpty(userAgent))
 24             {
 25                 request.UserAgent = userAgent;
 26             }
 27             if (timeout.HasValue)
 28             {
 29                 request.Timeout = timeout.Value;
 30             }
 31             if (cookies != null)
 32             {
 33                 request.CookieContainer = new CookieContainer();
 34                 request.CookieContainer.Add(cookies);
 35             }
 36             HttpWebResponse rsp = (HttpWebResponse)request.GetResponse();//获取服务器端的响应
 37             string cookieheader = request.CookieContainer.GetCookieHeader(new Uri(url));//获取 HTTP Cookie 标头,该标头包含表示与特定 URI 关联的 System.Net.Cookie 实例的 HTTP Cookie。
 38             m_Cookie.SetCookies(new Uri(url), cookieheader);//设置cookie
 39             Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);//获取服务器端响应的编码
 40             return GetResponseAsString(rsp, encoding);
 41         }
 42         /// <summary>
 43         /// 创建POST方式的HTTP请求
 44         /// </summary>
 45         /// <param name="url">请求的URL</param>
 46         /// <param name="parameters">随同请求POST的参数名称及参数值字典</param>
 47         /// <param name="timeout">请求的超时时间</param>
 48         /// <param name="userAgent">请求的客户端浏览器信息,可以为空</param>
 49         /// <param name="requestEncoding">发送HTTP请求时所用的编码</param>
 50         /// <param name="cookies">随同HTTP请求发送的Cookie信息,如果不需要身份验证可以为空</param>
 51         /// <returns></returns>
 52         public static string CreatePostHttpResponse(string url, IDictionary<string, string> parameters, int? timeout, string userAgent, CookieCollection cookies)
 53         {
 54             if (string.IsNullOrEmpty(url))
 55             {
 56                 throw new ArgumentNullException("url");
 57             }
 58             HttpWebRequest request = null;
 59             //如果是发送HTTPS请求
 60             if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
 61             {
 62                 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
 63                 request = WebRequest.Create(url) as HttpWebRequest;
 64                 request.ProtocolVersion = HttpVersion.Version10;
 65             }
 66             else
 67             {
 68                 request = WebRequest.Create(url) as HttpWebRequest;
 69             }
 70             request.Method = "POST";
 71             request.ContentType = "application/x-www-form-urlencoded";
 72
 73             if (!string.IsNullOrEmpty(userAgent))
 74             {
 75                 request.UserAgent = userAgent;
 76             }
 77             else
 78             {
 79                 request.UserAgent = DefaultUserAgent;
 80             }
 81
 82             if (timeout.HasValue)
 83             {
 84                 request.Timeout = timeout.Value;
 85             }
 86             if (cookies != null)
 87             {
 88                 request.CookieContainer = new CookieContainer();
 89                 request.CookieContainer.Add(cookies);
 90             }
 91             //如果需要POST数据
 92             if (!(parameters == null || parameters.Count == 0))
 93             {
 94                 StringBuilder buffer = new StringBuilder();
 95                 int i = 0;
 96                 foreach (string key in parameters.Keys)
 97                 {
 98                     if (i > 0)
 99                     {
100                         buffer.AppendFormat("&{0}={1}", key, parameters[key]);
101                     }
102                     else
103                     {
104                         buffer.AppendFormat("{0}={1}", key, parameters[key]);
105                     }
106                     i++;
107                 }
108                 byte[] data = Encoding.UTF8.GetBytes(buffer.ToString());
109                 using (Stream stream = request.GetRequestStream())
110                 {
111                     stream.Write(data, 0, data.Length);
112                 }
113             }
114             HttpWebResponse rsp = (HttpWebResponse)request.GetResponse();//获取服务器端的响应
115             string cookieheader = request.CookieContainer.GetCookieHeader(new Uri(url));//获取 HTTP Cookie 标头,该标头包含表示与特定 URI 关联的 System.Net.Cookie 实例的 HTTP Cookie。
116             m_Cookie.SetCookies(new Uri(url), cookieheader);//设置cookie
117             Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);//获取服务器端响应的编码
118             return GetResponseAsString(rsp, encoding);
119         }
120
121         private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
122         {
123             return true; //总是接受
124         }

这个代码不是原著,是从博客园找的,具体链接找不到了,再次记录一下,以备后面使用,

2、c#调用jar包

通过官网下载ikvm-0.42.0.3.zip、ikvmbin-0.42.0.3.zip、openjdk6-b16-stripped.zip这三个文件,解压ikvm-0.42.0.3.zip,进入bin目录,直接运行ikvmc -out:IKVM.dll test.jar  其中IKVM.dll为生成dll的名称,test.jar为你要转成dll的jar包,转完之后直接通过程序引用

引用完毕后引入名称空间就可以调用里面的类了

3、服务器设置bios里面的电源选项

在此在说明一下,以上信息仅用作以后查阅使用,均不是原著。

原文地址:https://www.cnblogs.com/Wxinchun/p/10884272.html

时间: 2024-11-14 10:56:45

一、日常经验记录的相关文章

【经验记录】Android上传文件到服务器

Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简单了,下面是我写的一个上传的工具类: package com.spring.sky.image.upload.network; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream;

日常问题记录--插入记录时报 Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (gbk_chinese_ci,COERCIBLE) for operation &#39;=&#39; 错误

背景: 写一个数据DB操作时,日志报Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (gbk_chinese_ci,COERCIBLE) for operation '=' 错误: 原因: 1.插入式代码中的数据类型为GBK: 2.DB建表时忘记修改默认的编码格式(默认为 Collation: latin1_swedish_ci 格式): 1.2结合之后,插入数据编码错误: 定位方法: 1.查看DB表的字段编码 show f

2014.07总结会经验记录

PPT方面的 1 完成工作情况汇总页,按时间描述项目,X轴是时间,Y轴是项目 2 具体项目页,工作内容可以按类型划分,人员无需在单个项目中指认出来.有一个汇总页进行描述即可. 3 人员配置页,可以去按照项目去划分人员,描述职责.(可借鉴zx的方式,用三角,圆圈,实心圆来区分人员使用方式,专职,复用,临时,我现在用的数字的统计方式更直观,单人用符号来标识更好) 4 技能覆盖页面没太大意义,要保留的话还是要强调变化,而且和人员配置页重了. 5 力求精炼,发现效果还不如第一版,内容必须精炼,过度展开后

暑期开发过程中的一些经验记录

Jeremy Lin 一.GDI+设置 这个不算是什么经验,在学校里面主要应用Opencv,基本没用过GDI+,到公司后才发现需要用到它.这里记录一下GDI+的配置过程,好让以后参考. (1)在项目属性-->链接器--附加依赖项   添加  gdiplus.lib (2)在stdfx.h中添加 #include "gdiplus.h" using namespace Gdiplus; (3)为XXXApp类添加两个成员变量 GdiplusStartupInput m_Gdista

项目 经验记录(续)

此文是之前项目经验的续篇.上篇讲了开发抽奖API遇到的难点及其解决方案,这篇将讲述上线后发生的事情. 抽奖项目上线之后,反响不错,领导还表扬了.但是有一天上午,有个事业部打来电话,说刚刚开始上线的活动,抽奖提示奖品已抽完,叫我们查一下. 活动是百分百中奖的,只有所有奖品库存没有了,才会提示奖品已经抽完.我到redis里面一查,的确奖品没有了.奖品库存存进去的也没错,那是什么原因呢? (2w 多的奖品在不到两分钟被刷完,我的api处理高并发还是达到要求了) 我们接下来去看此次活动的中奖纪录,发现奖

Java程序员的日常——经验贴(纯干货)

工作当中遇到的事情比较杂,因此涉及的知识点也很多.这里暂且记录一下,今天遇到的知识点,纯干货~ 关于文件的解压和压缩 如果你的系统不支持tar -z命令 如果是古老的Unix系统,可能并不认识tar -z命令,因此如果你想要压缩或者解压tar.gz的文件,就需要使用gzip或者gunzip以及tar命令了. 关于tar.gz可以这么理解,tar结尾的压缩包,其实只负责把文件打包,并没有进行压缩:而gz结尾的包,则是进行压缩操作. 因此,tar.gz的文件可以理解为,先进行打包,再进行压缩. 那么

linux的一些经验,记录下

闲着无聊看了下电脑上的文件,发现了之前刚接触linux时记录的一些经验贴出来mark一下,将来的也记录在这里. -------如何解压 tar.gz xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开.XXXX为文件名.参数-C是解压路径 例如$tar zxvf xxxx.tar.gz -C /usr/local/.. -------tomcat 启动报错启动startup.sh时,报了以下的错误:./bin/startup.shUsing CATALINA_BASE:   /u

WAP端 经验记录2

1. LightboxV2 插件 点击A 应该关闭弹层的效果,但是 SAMSUNG 手机上原生浏览器上,看上去不会关闭却跳转了,但当点击回退按钮的时候就会看见弹层已经消失(其实之前的关闭效果已经记录了)UC浏览器上点击A 能看到 弹层关闭,因为它的click事件 只比 touchend事件慢了一点点 IOS7.0 能看到弹层关闭再跳转,IOS8.0看不到弹层关闭再跳转,但是当回退的时候都是关闭的 2. chrome 中文版下 不能设置字体小于 12px, 但是可以用如下的属性去让它缩放-webk

苹果笔记本电脑,开不了机经验记录

今天下午,苹果笔记本电脑 MacBook Pro 插拔了USB口,结果电脑开不了机了: 解决方法: 打开后盖,插拔下电池的连接线,即可. 在这记录下,以便遇到同样问题的朋友.