public static ParaData commonOcr(string base64) { var dict = new Dictionary <string, string>(); dict.Add("image", base64); dict.Add("app_id", APP_ID.ToString()); dict.Add("key", APP_KEY); return(OcrServer.Gen(dict)); }
/// <summary> /// 通用OCR /// </summary> /// <param name="imageUrl"></param> /// <returns></returns> async public static Task <Object> commonOCR(string image) { using (HttpClient client = new HttpClient()) { try { long timeStamp = (long)(DateTime.UtcNow).Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; // 相差毫秒数 var dicationary = new Dictionary <string, string>(); dicationary.Add("app_id", APP_ID.ToString()); dicationary.Add("image", image); dicationary.Add("time_stamp", timeStamp.ToString()); dicationary.Add("nonce_str", timeStamp.ToString()); dicationary.Add("sign", ""); var sign = getSign(dicationary); dicationary["sign"] = sign; var keys = dicationary.Keys.ToList(); keys.Sort(); Console.WriteLine("kes:length" + keys.Count.ToString()); var str = ""; foreach (var key in keys) { str += key + "=" + dicationary[key].ToString() + "&"; Console.WriteLine(key + "=" + dicationary[key]); } var req = new HttpRequestMessage(HttpMethod.Post, API_COMMON_OCR_URL) { Content = new FormUrlEncodedContent(dicationary) }; //req.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); //var res = await client.SendAsync(req); //var model = new CommonOCRRequestContent { app_id = APP_ID, image = image, sign = sign, nonce_str = timeStamp.ToString(), time_stamp = timeStamp, }; //var stringContent = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, " 'Content-Type: application/x-www-form-urlencoded'"); var response = await client.SendAsync(req); var body = await response.Content.ReadAsStringAsync(); return(body); } catch (HttpRequestException e) { Console.WriteLine(e); return("error"); } } }