Foxtable(狐表)用户栏目专家坐堂 → 请教HttpClient代码问题


  共有1459人关注过本帖树形打印复制链接

主题:请教HttpClient代码问题

帅哥哟,离线,有人找我吗?
Exon_Liang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:152 积分:1681 威望:0 精华:0 注册:2015/4/7 23:01:00
请教HttpClient代码问题  发帖心情 Post By:2017/7/29 12:48:00 [只看该作者]

想通过OCR服务来做身份证识别,但执行到hc.GetData()就出现“500 内部服务器错误”,请教是不是代码不正确?

 

Foxtable使用hc.GetData(),但示例代码用的是httpClient.PostAsync(),是不是这里出问题,该如何定呢?多谢。

 

===============================

以下为Foxtable代码:

 

Dim hc As New HttpClient(http://netocr.com/api/recog.do)

 

'设置参数
hc.Timeout = 5 '秒
hc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36")

hc.FormData.Add("XXXXX","key")
hc.FormData.Add("XXXXX","secret")
hc.FormData.Add("2","typeId")

'添加文件
hc.Files.Add("file","C:\图片2\IMAG3622.jpg")

 

Output.Show(hc.GetData())

 

===============================

以下为OCR示例代码:

 

Public String PostIdCardDataToXiangYun(String filePath)
{
 String url = "http://netocr.com/api/recog.do";
 System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();
 httpClient.MaxResponseContentBufferSize = 256000;
 httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36");
 FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
 System.Net.Http.MultipartFormDataContent content = new System.Net.Http.MultipartFormDataContent();
 //增加文件数据
 content.Add(new System.Net.Http.StreamContent(fileStream), "file", "idcard.jpg");
 //增加参数
 content.Add(new StringContent("xxxx"),"key");
 content.Add(new StringContent("ddddd"),"secret");
 //二代身份证正面识别
 content.Add(new StringContent("2"),"typeId");
 content.Add(new StringContent("json"),"format");
 System.Net.Http.HttpResponseMessage response = httpClient.PostAsync(new Uri(url), content).Result;
 string result = response.Content.ReadAsStringAsync().Result;
 fileStream.Close();
 return result;
}

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/29 14:43:00 [只看该作者]

试试

Dim hc As New HttpClient(http://netocr.com/api/recog.Do)
 
'设置参数
hc.Timeout = 5 '秒
hc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36")
hc.FormData.Add("key","xxxx") 
hc.FormData.Add("secret","xxxx") 
hc.FormData.Add("typeId","2") 
hc.FormData.Add("format","ddddd") 
'添加文件
hc.Files.Add("file","C:\图片2\IMAG3622.jpg")
Output.Show(hc.GetData())

或者

Dim hc As New HttpClient(http://netocr.com/api/recog.Do)
 
'设置参数
hc.Timeout = 5 '秒
hc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36")
hc.C
'添加文件
hc.Files.Add("file","C:\图片2\IMAG3622.jpg")
Output.Show(hc.GetData())

 回到顶部
帅哥哟,离线,有人找我吗?
Exon_Liang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:152 积分:1681 威望:0 精华:0 注册:2015/4/7 23:01:00
  发帖心情 Post By:2017/7/29 15:30:00 [只看该作者]

可以了!第一种方法。谢谢!

 回到顶部