private static CommonResponse Recognizer(string msg, string product, string domain) { IClientProfile clientProfile = DefaultProfile.GetProfile(HOST, ACCESS_KEY, ACCESS_SECRET); DefaultAcsClient client = new DefaultAcsClient(clientProfile); try { string body = msg; string uuid = Guid.NewGuid().ToString(); CommonRequest request = new CommonRequest(); request.Domain = HOST_DOMAIN; request.Method = MethodType.POST; request.UriPattern = product + "/" + domain;//"/nlp/api/sentiment/ecommerce"; request.AddHeadParameters("x-acs-signature-method", "HMAC-SHA1"); request.AddHeadParameters("x-acs-signature-nonce", uuid); request.AddHeadParameters("x-acs-signature-version", "1.0"); request.SetContent(Encoding.UTF8.GetBytes(body), "UTF-8", FormatType.JSON); CommonResponse response = client.GetCommonResponse(request); return(response); } catch (ServerException ex) { throw ex; } catch (ClientException ex) { throw ex; } }
public object ImageDetection(string url) { IClientProfile profile = DefaultProfile.GetProfile( Region_Id, API_KEY, SECRET_KEY); DefaultAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.Method = MethodType.POST; request.Domain = "green.cn-shanghai.aliyuncs.com"; request.Version = "2018-05-09"; request.UriPattern = "/green/image/scan"; // request.Protocol = ProtocolType.HTTP; request.AddHeadParameters("Content-Type", "application/json"); var queryObj = new { scenes = new [] { "p**n", "terrorism", "ad", "live", "logo" }, tasks = new [] { new { url } } }; var requestBody = Newtonsoft.Json.JsonConvert.SerializeObject(queryObj); request.SetContent(System.Text.Encoding.Default.GetBytes(requestBody), "utf-8", FormatType.JSON); CommonResponse response = client.GetCommonResponse(request); return(response.Data); }
protected T RequestAliyun <T>(string url, string version, MethodType methodType, string region, string domain, Dictionary <string, string> args, Dictionary <string, string> headers = null) { DefaultAcsClient client; if (headers == null) { headers = new Dictionary <string, string> { { "Content-Type", "application/x-www-form-urlencoded" } } } ; if (string.IsNullOrWhiteSpace(_roleName)) { if (string.IsNullOrWhiteSpace(_accessKey) || string.IsNullOrWhiteSpace(_secretKey)) { throw new ArgumentException("ACK方式参数错误"); } client = new DefaultAcsClient(DefaultProfile.GetProfile(region, _accessKey, _secretKey)); } else { client = new DefaultAcsClient(DefaultProfile.GetProfile(region), new InstanceProfileCredentialsProvider(_roleName)); } var request = new CommonRequest { Method = methodType, Domain = domain, Version = version, UriPattern = url }; // request.Protocol = ProtocolType.HTTP; foreach (var item in args) { request.AddQueryParameters(item.Key, item.Value); } foreach (var item in headers) { request.AddHeadParameters(item.Key, item.Value); } request.SetContent(System.Text.Encoding.Default.GetBytes(""), "utf-8", FormatType.JSON); var response = client.GetCommonResponse(request); return(response.Data.ToJsonObj <T>()); } }
public void Add() { UnmarshallerContext context = new UnmarshallerContext(); CommonRequest instance = new CommonRequest(); instance.AddQueryParameters("AddQueryParameters", "a"); context.ResponseDictionary = instance.QueryParameters; Assert.Equal("a", context.StringValue("AddQueryParameters")); instance.AddBodyParameters("AddBodyParameters", "b"); context.ResponseDictionary = instance.BodyParameters; Assert.Equal("b", context.StringValue("AddBodyParameters")); instance.AddHeadParameters("AddHeadParameters", "c"); context.ResponseDictionary = instance.HeadParameters; Assert.Equal("c", context.StringValue("AddHeadParameters")); instance.AddPathParameters("AddPathParameters", "d"); context.ResponseDictionary = instance.PathParameters; Assert.Equal("d", context.StringValue("AddPathParameters")); }
/// <summary> /// /// </summary> /// <param name="url"></param> /// <returns></returns> public DetectionResult Detection(string url) { try { IClientProfile profile = DefaultProfile.GetProfile( Region_Id, API_KEY, SECRET_KEY); DefaultAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.Method = MethodType.POST; request.Domain = "green.cn-shanghai.aliyuncs.com"; request.Version = "2018-05-09"; request.UriPattern = "/green/image/scan"; request.AddHeadParameters("Content-Type", "application/json"); var queryObj = new { scenes = new[] { "p**n" }, tasks = new[] { new { url } } }; var requestBody = JsonConvert.SerializeObject(queryObj); request.SetContent(Encoding.Default.GetBytes(requestBody), "utf-8", FormatType.JSON); CommonResponse response = client.GetCommonResponse(request); var aliyunRet = JsonConvert.DeserializeObject <AliyunResult>(response.Data); var ret = new DetectionResult() { Platform = "阿里" }; if (aliyunRet.code == 200) { var data1 = aliyunRet.data.FirstOrDefault(o => o.code == 200); var result = data1.results.FirstOrDefault(o => o.scene == "p**n"); switch (result.label) { case "normal": ret.Result = DetectionResultType.Normal; break; case "sexy": ret.Result = DetectionResultType.Sexy; break; case "p**n": ret.Result = DetectionResultType.P**n; break; default: ret.Result = DetectionResultType.Unknow; break; } ret.Items.Add(new DetectionResultItem { TypeName = result.label, Suggestion = result.rate }); } ret.SourceResult = JsonConvert.SerializeObject(aliyunRet, Formatting.Indented); return(ret); } catch (Exception ex) { return(new DetectionResult { Error = ex.Message, Platform = "阿里" }); } }