当前位置: 代码迷 >> C# >> c#后盾访问接口
  详细解决方案

c#后盾访问接口

热度:347   发布时间:2016-04-28 08:35:01.0
c#后台访问接口

直接上代码

后台代码

//接口地址
string
url = "http://spherefg.topsmoon.com:6666/restapi/Comment/SubmitCommentFromPC?commentPeople=1067&comment=%E4%B8%AD%E8%AF%84&content=%E6%B5%8B%E8%AF%95&taskId=1160&userId=1";//Get请求 HttpWebResponse w = HttpHelper.CreateGetHttpResponse(url, 30000, null, null); StreamReader sr = new StreamReader(w.GetResponseStream()); string/*这是Json字符串*/ jsonstr = sr.ReadToEnd();

工具类:

using System;using System.Collections.Generic;using System.IO;using System.Net;using System.Net.Security;using System.Security.Cryptography.X509Certificates;using System.Text;public class HttpHelper{    /// <summary>      /// 创建GET方式的HTTP请求      /// </summary>      ///     public static HttpWebResponse CreateGetHttpResponse(string url, int timeout, string userAgent, CookieCollection cookies)    {        HttpWebRequest request = null;        if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))        {            //对服务端证书进行有效性校验(非第三方权威机构颁发的证书,如自己生成的,不进行验证,这里返回true)            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);            request = WebRequest.Create(url) as HttpWebRequest;            request.ProtocolVersion = HttpVersion.Version10;    //http版本,默认是1.1,这里设置为1.0        }        else        {            request = WebRequest.Create(url) as HttpWebRequest;        }        request.Method = "GET";        //设置代理UserAgent和超时        //request.UserAgent = userAgent;        //request.Timeout = timeout;        if (cookies != null)        {            request.CookieContainer = new CookieContainer();            request.CookieContainer.Add(cookies);        }        return request.GetResponse() as HttpWebResponse;    }    /// <summary>      /// 创建POST方式的HTTP请求      /// </summary>      public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, int timeout, string userAgent, CookieCollection cookies)    {        HttpWebRequest request = null;        //如果是发送HTTPS请求          if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))        {            //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);            request = WebRequest.Create(url) as HttpWebRequest;            //request.ProtocolVersion = HttpVersion.Version10;        }        else        {            request = WebRequest.Create(url) as HttpWebRequest;        }        request.Method = "POST";        request.ContentType = "application/x-www-form-urlencoded";        //设置代理UserAgent和超时        //request.UserAgent = userAgent;        //request.Timeout = timeout;         if (cookies != null)        {            request.CookieContainer = new CookieContainer();            request.CookieContainer.Add(cookies);        }        //发送POST数据          if (!(parameters == null || parameters.Count == 0))        {            StringBuilder buffer = new StringBuilder();            int i = 0;            foreach (string key in parameters.Keys)            {                if (i > 0)                {                    buffer.AppendFormat("&{0}={1}", key, parameters[key]);                }                else                {                    buffer.AppendFormat("{0}={1}", key, parameters[key]);                    i++;                }            }            byte[] data = Encoding.ASCII.GetBytes(buffer.ToString());            using (Stream stream = request.GetRequestStream())            {                stream.Write(data, 0, data.Length);            }        }        string[] values = request.Headers.GetValues("Content-Type");        return request.GetResponse() as HttpWebResponse;    }    /// <summary>    /// 获取请求的数据    /// </summary>    public static string GetResponseString(HttpWebResponse webresponse)    {        using (Stream s = webresponse.GetResponseStream())        {            StreamReader reader = new StreamReader(s, Encoding.UTF8);            return reader.ReadToEnd();        }    }    /// <summary>    /// 验证证书    /// </summary>    private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)    {        if (errors == SslPolicyErrors.None)            return true;        return false;    }}

 

  相关解决方案