问题描述
小弟最近用c#想写一个360移动搜索的api,结果第一步就出错了,360移动搜索的拍题这个功能,我试试post图片上去但是一直返回的是空,下面是我post的代码:可能是我的边界拼的有问题,各位大神麻烦看看啊!//这是360搜索post时的头部信息://POST/ocr/apiHTTP/1.1//Accept-Encoding:deflate//Connection:Keep-Alive//Content-Length:75686//Content-Type:multipart/form-data;boundary=---OCRFormBoundaryaqAZrhGGayPmw2s3//User-Agent:Dalvik/1.6.0(Linux;U;Android4.1.2;SCH-R530UBuild/JZO54K)//Host:xueba.onebox.so.com//-----OCRFormBoundaryaqAZrhGGayPmw2s3//Content-Disposition:form-data;name="image";filename="XuebaHelp_Camera_Crop.jpg"//Content-Type:application/octet-stream//这里是它post的流的一些参数://---OCRFormBoundaryaqAZrhGGayPmw2s3rn//Content-Disposition:form-data;name="image";//filename="XuebaHelp_Camera_Crop.jpg"rn//Content-Type:application/octet-streamrnrn//MediaType:application/octet-stream(166223bytes)//rn-----OCRFormBoundaryaqAZrhGGayPmw2s3rn//Content-Disposition:form-data;name="src";//Data:6f6e65626f78//rn-----OCRFormBoundaryaqAZrhGGayPmw2s3rn//Content-Disposition:form-data;name="unique";//rn-----OCRFormBoundaryaqAZrhGGayPmw2s3rnHttpWebRequestuploadRequest=(HttpWebRequest)WebRequest.Create(url);uploadRequest.ContentType="multipart/form-data;boundary=---OCRFormBoundaryaqAZrhGGayPmw2s3rn";uploadRequest.Method="POST";uploadRequest.Accept="*/*";uploadRequest.KeepAlive=true;uploadRequest.Headers.Add("Accept-Encoding","identity");uploadRequest.UserAgent="Dalvik/1.6.0(Linux;U;Android4.0.3;T9200Build/HuaweiT9200)";StreammemStream=newMemoryStream();if(!String.IsNullOrEmpty(file)){stringdataFormat="---OCRFormBoundaryaqAZrhGGayPmw2s3rnContent-Disposition:form-data;";dataFormat+="name="image";filename="XuebaHelp_Camera_Crop.jpg"rnContent-Type:";dataFormat+="application/octet-streamrnrnMediaType:application/octet-stream(166223bytes)";dataFormat+="rn-----OCRFormBoundaryaqAZrhGGayPmw2s3rnContent-Disposition:form-data;name="src"rn-----OCRFormBoundaryaqAZrhGGayPmw2s3rn";dataFormat+="Content-Disposition:form-data;name="unique"rn-----OCRFormBoundaryaqAZrhGGayPmw2s3rn";byte[]headerbytes=System.Text.Encoding.ASCII.GetBytes(dataFormat);memStream.Write(headerbytes,0,headerbytes.Length);FileStreamfileStream=newFileStream(file,FileMode.Open,FileAccess.Read);byte[]buffer=newbyte[1024];intbytesRead=0;while((bytesRead=fileStream.Read(buffer,0,buffer.Length))!=0){memStream.Write(buffer,0,bytesRead);}fileStream.Close();uploadRequest.ContentLength=memStream.Length;StreamrequestStream=uploadRequest.GetRequestStream();memStream.Position=0;byte[]tempBuffer=newbyte[memStream.Length];memStream.Read(tempBuffer,0,tempBuffer.Length);memStream.Close();requestStream.Write(tempBuffer,0,tempBuffer.Length);requestStream.Close();reponse=uploadRequest.GetResponse();Streamstream2=reponse.GetResponseStream();StreamReaderreader2=newStreamReader(stream2);strings=reader2.ReadToEnd();