public void TestMethod1() { IAopClient client = GetAlipayClient(); AlipayMobilePublicMultiMediaDownloadRequest req = new AlipayMobilePublicMultiMediaDownloadRequest(); string path = "c:/1.jpg"; if (File.Exists(path)) { File.Delete(path); } FileStream fs = new FileStream(path, FileMode.CreateNew); req.stream = fs; string mediaId = "L21pZnMvVDFQV3hYWGJKWFhYYUNucHJYP3Q9YW13ZiZ4c2lnPTU0MzRhYjg1ZTZjNWJmZTMxZGJiNjIzNDdjMzFkNzkw575"; req.BizContent = "{\"mediaId\":\"" + mediaId + "\"}"; AlipayMobilePublicMultiMediaDownloadResponse res = client.Execute(req); System.Console.WriteLine("-------------公众号菜单查询-------------"); System.Console.WriteLine("Body:" + res.Body); System.Console.ReadLine(); }
public void should_send_request_success_with_private_key_from_file() { //准备客户端参数 string serverUrl = "https://openfile.alipay.com/chat/multimedia.do"; string appId = "2013092500031084"; string privateKeyPem = GetPrivateKeyFilePath(); //通过各个重载构造函数初始化客户端 List <IAopClient> clients = new List <IAopClient>(); #if NETCOREAPP Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); #endif clients.Add(new AlipayMobilePublicMultiMediaClient(serverUrl, appId, privateKeyPem, true, "json", "GBK")); clients.Add(new AlipayMobilePublicMultiMediaClient(serverUrl, appId, privateKeyPem, true, "json", "GBK", "1.0", "RSA")); clients.Add(new AlipayMobilePublicMultiMediaClient(serverUrl, appId, privateKeyPem, "json", "GBK")); clients.Add(new AlipayMobilePublicMultiMediaClient(serverUrl, appId, privateKeyPem, "json", "GBK", "1.0", "RSA")); //对每一种构造出的客户端都执行相同的测试 foreach (IAopClient client in clients) { //构造request AlipayMobilePublicMultiMediaDownloadRequest request = getRequest(); //执行OpenAPI调用 AlipayMobilePublicMultiMediaDownloadResponse response = client.Execute(request); //断言响应 Assert.AreEqual(response.Code, "2001"); Assert.AreEqual(response.Msg, "公众账号信息不存在"); //释放文件句柄 request.stream.Close(); } }
private AopResponse DoGet(AopDictionary parameters, Stream outStream) { AlipayMobilePublicMultiMediaDownloadResponse result = null; string text = serverUrl; Console.WriteLine(text); if (parameters != null && parameters.Count > 0) { text = ((!text.Contains("?")) ? (text + "?" + WebUtils.BuildQuery(parameters, charset)) : (text + "&" + WebUtils.BuildQuery(parameters, charset))); } HttpWebRequest webRequest = webUtils.GetWebRequest(text, "GET"); webRequest.ContentType = "application/x-www-form-urlencoded;charset=" + charset; HttpWebResponse httpWebResponse = (HttpWebResponse)webRequest.GetResponse(); if (httpWebResponse.StatusCode == HttpStatusCode.OK) { if (httpWebResponse.ContentType.ToLower().Contains("text/plain")) { Encoding encoding = Encoding.GetEncoding(httpWebResponse.CharacterSet); string responseAsString = webUtils.GetResponseAsString(httpWebResponse, encoding); IAopParser <AlipayMobilePublicMultiMediaDownloadResponse> aopParser = new AopJsonParser <AlipayMobilePublicMultiMediaDownloadResponse>(); result = aopParser.Parse(responseAsString, charset); } else { GetResponseAsStream(outStream, httpWebResponse); result = new AlipayMobilePublicMultiMediaDownloadResponse(); } } return(result); }
private AopResponse DoGet(AopDictionary parameters, Stream outStream) { AlipayMobilePublicMultiMediaDownloadResponse response = null; var url = serverUrl; Console.WriteLine(url); if (parameters != null && parameters.Count > 0) { if (url.Contains("?")) { url = url + "&" + WebUtils.BuildQuery(parameters, charset); } else { url = url + "?" + WebUtils.BuildQuery(parameters, charset); } } var req = webUtils.GetWebRequest(url, "GET"); req.ContentType = "application/x-www-form-urlencoded;charset=" + charset; var reqTask = req.GetResponseAsync(); reqTask.Wait(); var rsp = (HttpWebResponse)reqTask.Result; if (rsp.StatusCode == HttpStatusCode.OK) { if (rsp.ContentType.ToLower().Contains("text/plain")) { //临时 var contentType = rsp.ContentType; var charset = contentType.IndexOf("charset=utf-8", StringComparison.OrdinalIgnoreCase) > 0 ? "UTF-8" : "GBK"; var encoding = Encoding.GetEncoding(charset); var body = webUtils.GetResponseAsString(rsp, encoding); IAopParser <AlipayMobilePublicMultiMediaDownloadResponse> tp = new AopJsonParser <AlipayMobilePublicMultiMediaDownloadResponse>(); response = tp.Parse(body, charset); } else { GetResponseAsStream(outStream, rsp); response = new AlipayMobilePublicMultiMediaDownloadResponse(); } } return(response); }
private AopResponse DoGet(AopDictionary parameters, Stream outStream) { AlipayMobilePublicMultiMediaDownloadResponse response = null; if (string.IsNullOrEmpty(charset)) { charset = "UTF-8"; } string url = this.serverUrl; System.Console.WriteLine(url); if (parameters != null && parameters.Count > 0) { if (url.Contains("?")) { url = url + "&" + WebUtils.BuildQuery(parameters, charset); } else { url = url + "?" + WebUtils.BuildQuery(parameters, charset); } } HttpWebRequest req = webUtils.GetWebRequest(url, "GET"); req.ContentType = "application/x-www-form-urlencoded;charset=" + charset; HttpWebResponse rsp = (HttpWebResponse)req.GetResponse(); if (rsp.StatusCode == HttpStatusCode.OK) { if (rsp.ContentType.ToLower().Contains("text/plain")) { Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet); string body = webUtils.GetResponseAsString(rsp, encoding); IAopParser <AlipayMobilePublicMultiMediaDownloadResponse> tp = new AopJsonParser <AlipayMobilePublicMultiMediaDownloadResponse>(); response = tp.Parse(body, charset); } else { GetResponseAsStream(outStream, rsp); response = new AlipayMobilePublicMultiMediaDownloadResponse(); } } return(response); }
public void should_send_request_success_with_private_key_from_string() { //准备客户端参数 string serverUrl = "https://openfile.alipay.com/chat/multimedia.do"; string appId = "2013092500031084"; string privateKeyPem = @"MIICXQIBAAKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEyWlz5p1z rahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4G GAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQAB AoGBALrKLjBXyRrCFryxA2zyIZBO0TcaZ1T/4UKm/LDNL9hJB6wJOcBuFTQb0MFn tkLALmOo2DYHQj4EzS+Xy2jp6pMsvCKG63XbU/7d7w1/ejTYxz+MX4ZzG6Ro5Cmb pY1inbithQIfN3noK0h+PE7lkvOy43mTR4a+ceAtCh3gU2HpAkEA+XMqxbirmuhj RtHU4+YAOu0fY3JrXA1oErLiF0tJc1HhsWQuMv8v++peku4wWLhpM/8dpiWmf29z McXBkNNWDQJBAM3ERi014EzIN91Dkdd6Kl4lfXEG62h0f2j5kvJGcZCTWKMLNyt7 pjVYy4RRrrLLZiyGNqSKTzVDoaNWGGrTxoMCQQDavL54+uKfx7+mTkGcRgdVpLCt h5vU8HyeSPYw7vfNg7Og1fQdC+CLyox70xnZ8ntt+PuKweEqRhSBRKPj1y3RAkAY jjzFtnE/GIG6MQ8dhOG7fIPc0jOTsptl3qrPqOJym3Lvei4qTUZHhYI8Fzde9PEL jTTGLA9JzvliMasWTJGbAkB7UviY/ywp0GYCysV2QJZcakk5QZZ9mJwYJOh6hy6f BJJ8dq1F4aMRNbw/bTZqJuj4mmZUMrpK0JKeRjjFgzJF"; //通过各个重载构造函数初始化客户端 List <IAopClient> clients = new List <IAopClient>(); #if NETCOREAPP Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); #endif clients.Add(new AlipayMobilePublicMultiMediaClient(serverUrl, appId, privateKeyPem, false, "json", "GBK")); clients.Add(new AlipayMobilePublicMultiMediaClient(serverUrl, appId, privateKeyPem, false, "json", "GBK", "1.0", "RSA")); //对每一种构造出的客户端都执行相同的测试 foreach (IAopClient client in clients) { //构造request AlipayMobilePublicMultiMediaDownloadRequest request = getRequest(); //执行OpenAPI调用 AlipayMobilePublicMultiMediaDownloadResponse response = client.Execute(request); //断言响应 Assert.AreEqual(response.Code, "2001"); Assert.AreEqual(response.Msg, "公众账号信息不存在"); //释放文件句柄 request.stream.Close(); } }
private async Task <AlipayResponse> DoGetAsync(AlipayDictionary parameters, Stream outStream) { AlipayMobilePublicMultiMediaDownloadResponse response = null; var url = Options.ServerUrl; if (parameters != null && parameters.Count > 0) { if (url.Contains("?")) { url = url + "&" + HttpClientEx.BuildQuery(parameters); } else { url = url + "?" + HttpClientEx.BuildQuery(parameters); } } using (var clientResponse = await Client.GetAsync(url)) { if (clientResponse.StatusCode == HttpStatusCode.OK) { using (var content = clientResponse.Content) { if (content.Headers.ContentType.ToString().ToLower().Contains("text/plain")) { var body = await content.ReadAsStringAsync(); IAlipayParser <AlipayMobilePublicMultiMediaDownloadResponse> tp = new AlipayJsonParser <AlipayMobilePublicMultiMediaDownloadResponse>(); response = tp.Parse(body); } else { outStream = await content.ReadAsStreamAsync(); response = new AlipayMobilePublicMultiMediaDownloadResponse(); } } } } return(response); }