HttpWebRequest WebClient 无法接受数据,求大神

wp_drifter 2016-03-18 09:41:05
WebClient
  try
{
WebClient wc = new WebClient();
wc.Headers.Add("Content-Type", "application/json");
wc.Headers.Add("Cookie", "rmbUser=true; userName=25120811004; " + FullWebBrowserCookie.GetCookieInternal(new Uri("http://155.16.161.15:8082"), true));
byte[] postData = Encoding.UTF8.GetBytes(paramStr);
byte[] responseData = wc.UploadData(uri, "POST", postData);
return Encoding.UTF8.GetString(responseData);
}
catch (Exception ex) { return ex.ToString(); }

HttpWebRequest

CookieContainer myCookieContainer = new CookieContainer();
Uri uri = new Uri("http://155.16.161.15:8082");
string cookieStr = "rmbUser=true;userName=25120811004;" + FullWebBrowserCookie.GetCookieInternal(uri, true);
string[] cookstr = cookieStr.Split(';');
foreach (string str in cookstr)
{
string[] cookieNameValue = str.Split('=');
Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
myCookieContainer.Add(uri, ck);
}
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Accept = "application/json, text/javascript, */*; q=0.01";
request.Headers.Add("Accept-Encoding", "gzip, deflate");
request.Timeout = 15000;
request.AllowAutoRedirect = true;
request.CookieContainer = myCookieContainer;
request.Referer = referer;
StreamWriter requestStream = null;
HttpWebResponse response = null;
string responseStr = null;
try
{
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close();

response = (HttpWebResponse)request.GetResponse();
if (response != null)
{
Stream st = response.GetResponseStream();
if (response.ContentEncoding.ToLower().Contains("gzip"))
st = new GZipStream(st, CompressionMode.Decompress);
StreamReader reader = new StreamReader(st, Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (Exception ex)
{
showMsg(ex.ToString());
throw;
}
finally
{
request = null;
requestStream = null;
response = null;
}
return responseStr;


接口





注:就这一个接口获取不到数据,其他这个网站的接口都可以获取的到json数据

其中json字段为空就是这个接口无法获取返回的数据


下面是可以获取数据的接口


这个是可以获取到数据的,对应的数据库id=1280

求大神讲解为什么第一个获取不到数据
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wp_drifter 2016-03-21
  • 打赏
  • 举报
回复
至今还未解决
猪猪猪爱的 2016-03-21
  • 打赏
  • 举报
回复
你第一个接口的POST是流的 文件或者图片上传的method是不一样的。 下面是客户端的异步传输代码 楼主可以参考一下 using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/json")); using (var content = new MultipartFormDataContent()) { List<ByteArrayContent> files = new List<ByteArrayContent>(); foreach (var file in Request.PhotoList) { var fileContent = new ByteArrayContent(File.ReadAllBytes(file.FilePath)); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = Path.GetFileName(file.FilePath) }; files.Add(fileContent); } Action<List<ByteArrayContent>> act = (dataContents) => { foreach (var byteArrayContent in dataContents) { content.Add(byteArrayContent); } }; act(files); var Response = client.PostAsync(ClientUrl, content).Result; if (Response != null && Response.IsSuccessStatusCode) {.................} } } }
wp_drifter 2016-03-18
  • 打赏
  • 举报
回复
引用 1 楼 hanjun0612 的回复:
你传递的postData格式正确吗? 那个有问题的接口,能正确解析你传递的json吗? 会不会出现异常导致接口访问的失败?查找日志
这个问题我肯定是检查了N次了,接口是别人的 我只能确保我这边发送的json格式是完全正确的
正怒月神 2016-03-18
  • 打赏
  • 举报
回复
你传递的postData格式正确吗? 那个有问题的接口,能正确解析你传递的json吗? 会不会出现异常导致接口访问的失败?查找日志

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧