2. 接口请求代码实例

2.1. Net版本

string accessToken = "Bearer " + Token(接口授权回执单上的Token值); //key值:" Bearer Token值",使用的是Oauth2.0调用方式。

2.1.1. Get请求

/// <summary>
/// 通过Get请求从北森获取数据
/// </summary>
/// <param name="url">请求的接口url</param>
public static void GetDataFromBeisen(string url)
{
   HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
   request.Headers.Add("Authorization", accessToken);
   request.Method = "GET";
   HttpWebResponse response = (HttpWebResponse)request.GetResponse();
   Stream responseStream = response.GetResponseStream();
   StreamReader reader = new StreamReader(responseStream);
   string content = reader.ReadToEnd();
}

2.1.2. Post请求

/// <summary>
/// 通过Post请求向北森写数据
/// </summary>
/// <param name="url">请求的接口url</param>
/// <param name="parameterData">请求参数字典</param>
public static void PostDataToBeisen(string url,  Dictionary<string, string> parameterData)
 {
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
    request.Headers.Add("Authorization", accessToken);
    request.Method = "POST";
    string postData = ParameterDataEncode(parameterData);
    byte[] bytes = Encoding.UTF8.GetBytes(postData);
    int length = bytes.Length;
    request.ContentLength = length; 
    request.ContentType = "application/x-www-form-urlencoded"; 
    using(Stream stream = request.GetRequestStream())
    {
        stream.Write(bytes, 0, bytes.Length);
    }
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream responseStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(responseStream);
    string content = reader.ReadToEnd();
}
/// <summary>
/// 请求数据编码
/// </summary>
/// <param name="parameterData">请求参数字典</param>
public static string ParameterDataEncode(Dictionary<string, string> parameterData)
{
    StringBuilder builder = new StringBuilder(parameterData.Count * 128);
    foreach(var kv in parameterData)
    {
        builder.Append(kv.Key).Append("=").Append(HttpUtility.UrlEncode(kv.Value)).Append("&");
    }
    return builder.ToString(0, builder.Length - 1);
}

results matching ""

    No results matching ""