html52.com
我爱小程序-开发者交流社区

后端调OCR身份证接口,识别结果时好时坏,报101000 invalid image url?

//fileUrl是传过来的图片网络url
string host1 = "https://api.weixin.qq.com/cv/ocr/idcard?type=photo&img_url="+ HttpUtility.UrlEncode(fileUrl, Encoding.UTF8) + "&access_token=" + newtoken;
//测试调用微信OCR
HttpWebRequest b1 = (HttpWebRequest)WebRequest.Create(host1);
b1.Method = "post";
b1.KeepAlive = true;
HttpWebResponse newresponse1 = (HttpWebResponse)b1.GetResponse();
StreamReader newreader1 = new StreamReader(newresponse1.GetResponseStream(), Encoding.UTF8);
JObject objJson = (JObject)JsonConvert.DeserializeObject(newreader1.ReadToEnd());
dynamic objResult = new ExpandoObject();
objResult.errcode = ((Newtonsoft.Json.Linq.JValue)objJson["errcode"]).Value.ToString();
objResult.errmsg = ((Newtonsoft.Json.Linq.JValue)objJson["errmsg"]).Value.ToString();
var sql = new StringBuilder();
if (objResult.errcode == "0")
{
     objResult.type = ((Newtonsoft.Json.Linq.JValue)objJson["type"]).Value.ToString();
    objResult.name = ((Newtonsoft.Json.Linq.JValue)objJson["name"]).Value.ToString();
   objResult.race = ((Newtonsoft.Json.Linq.JValue)objJson["nationality"]).Value.ToString();
   sql.Append(@"SELECT Top 1 raceNo FROM CMIS.EMP.Race where RaceName like '" + objResult.race + "%' ");
   dynamic raceNo = await SqlMapperUtil.SqlWithParamsSingle<dynamic>(sql.ToString(), new { });
   objResult.raceNo = raceNo.raceNo;
   objResult.nricAdress = ((Newtonsoft.Json.Linq.JValue)objJson["addr"]).Value.ToString();
   objResult.nric = ((Newtonsoft.Json.Linq.JValue)objJson["id"]).Value.ToString();
   objResult.dateOfBirth = ((Newtonsoft.Json.Linq.JValue)objJson["birth"]).Value.ToString();
    objResult.gender = ((Newtonsoft.Json.Linq.JValue)objJson["gender"]).Value.ToString();
   objResult.genderNo = objResult.gender == "男" ? "1" : "2";
   operateStatus.Data = objResult;
   operateStatus.ResultSign = ResultSign.Successful;
   operateStatus.code = ResultCode.Successful;
   operateStatus.message = "获取成功";
}
else
{
 operateStatus.Data = objResult;
  operateStatus.ResultSign = ResultSign.Error;
 operateStatus.code = ResultCode.Error;
 operateStatus.message = "识别失败," + objResult.errmsg;
 }
识别结果有时候没问题,如下:

 + objResult.errmsg;
 }
识别结果有时候没问题,如下:
有时候又报101000,

有时候又报101000,有时候又报101000,传入图片为同一张图片,上一次执行成功,下一次再执行也许就101000,说invalid image url hint,但是图片url根本没有

传入图片为同一张图片,上一次执行成功,下一次再执行也许就101000,说invalid image url hint,但是图片url根本没有问题,浏览器可以正常访问,到底什么原因啊?要是一直识别不出还好,但这时好时坏的。。。。报101000的几率更大,大概5次里面只有一次识别成功,求解

网友回复

社区技术运营专员-CJiang:

麻烦重新调用下

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付