2023年6月20日发(作者:)
api接⼝签名认证的⼀种⽅式请求⽅try { using (var client = new HttpClient()) { StringContent content = new StringContent(strParam);//参数序列化后,放⼊StringContent tType = new MediaTypeHeaderValue("application/json");//设置type //放⼊head的名字可以随意设置(和接收⽅⼀直就可以),值需要单独⽣成,最主要就是auth_param ization = new AuthenticationHeaderValue("auth名称", auth_param); var response = ync(FlightQueryUrl, content).Result; if (essStatusCode) { string responseText = StringAsync().Result; if (OrEmpty(responseText)) { return null; } return responseText ; } return null; } } catch (Exception ex) { return null; }auth_param的计算⽅式,需要和接收⽅的⼀致://认证key private const string key = "认证key****#####$$$$$$@@@"; //认证秘钥 private const string secrect = "认证秘钥****#####$$$$$$@@@"; ///
string timeStamp = GetTimeStamp();//获取时间戳 url = ode(r()); /* * {认证key}{原始请求参数}{调⽤⽅⾃定义requestId}{时间戳}{原始URL}{认证秘钥}(被调⽤⽅也是如此) * 替换掉字符串中的换⾏与空格(被调⽤⽅也是如此) */ string source = $"{key}{param}{requestId}{timeStamp}{url}{secrect}".Replace(e, ).Replace("n", "").Replace(" ", ""); string hmac = GetMd5(source); //auth_param ⾝份验证参数字符串 //{认证key}{}{调⽤⽅⾃定义requestId}{时间戳} 顺序需要更具被调⽤⽅设置 return $"{key}:{hmac}:{requestId}:{timeStamp}"; } ///
/// 获取时间戳
///
///
private static string GetTimeStamp() { var initTime = new DateTime(1970, 1, 1, 0, 0, 0, 0); TimeSpan ts = - initTime; return 64(econds).ToString(); } 接收⽅public class ReqAuthorizeAttribute:izeAttribute{ ///
转载于:/ericli-ericli/p/
2023年6月20日发(作者:)
api接⼝签名认证的⼀种⽅式请求⽅try { using (var client = new HttpClient()) { StringContent content = new StringContent(strParam);//参数序列化后,放⼊StringContent tType = new MediaTypeHeaderValue("application/json");//设置type //放⼊head的名字可以随意设置(和接收⽅⼀直就可以),值需要单独⽣成,最主要就是auth_param ization = new AuthenticationHeaderValue("auth名称", auth_param); var response = ync(FlightQueryUrl, content).Result; if (essStatusCode) { string responseText = StringAsync().Result; if (OrEmpty(responseText)) { return null; } return responseText ; } return null; } } catch (Exception ex) { return null; }auth_param的计算⽅式,需要和接收⽅的⼀致://认证key private const string key = "认证key****#####$$$$$$@@@"; //认证秘钥 private const string secrect = "认证秘钥****#####$$$$$$@@@"; ///
string timeStamp = GetTimeStamp();//获取时间戳 url = ode(r()); /* * {认证key}{原始请求参数}{调⽤⽅⾃定义requestId}{时间戳}{原始URL}{认证秘钥}(被调⽤⽅也是如此) * 替换掉字符串中的换⾏与空格(被调⽤⽅也是如此) */ string source = $"{key}{param}{requestId}{timeStamp}{url}{secrect}".Replace(e, ).Replace("n", "").Replace(" ", ""); string hmac = GetMd5(source); //auth_param ⾝份验证参数字符串 //{认证key}{}{调⽤⽅⾃定义requestId}{时间戳} 顺序需要更具被调⽤⽅设置 return $"{key}:{hmac}:{requestId}:{timeStamp}"; } ///
/// 获取时间戳
///
///
private static string GetTimeStamp() { var initTime = new DateTime(1970, 1, 1, 0, 0, 0, 0); TimeSpan ts = - initTime; return 64(econds).ToString(); } 接收⽅public class ReqAuthorizeAttribute:izeAttribute{ ///
转载于:/ericli-ericli/p/
发布评论