如何获得其余的API响应 [英] How get the rest API response
问题描述
你好,
我尝试从rest API读取数据,但是我收到以下格式的响应.
) 8 Y X :. ( % U [ + n ..)
我尝试过的事情:
HttpWebRequest请求=(HttpWebRequest)
WebRequest.Create(URL);
request.Method ="POST";
request.ContentType ="application/json";
request.Headers.Add(HttpRequestHeader.AcceptEncoding,"gzip");
字符串postData =我的json数据;
byte [] data = Encoding.UTF8.GetBytes(postData);
request.ContentLength = data.Length;
使用(Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data,0,data.Length);
}
HttpWebResponse响应=(HttpWebResponse)request.GetResponse();
字符串response_data =";
试试
{
使用(StreamReader streamIn = new StreamReader((request.GetResponse()).GetResponseStream()))
{
response_data = streamIn.ReadToEnd();
streamIn.Close();
}
}
赶上
{
}
Response.write(response_data);
Hello,
I try to read the data from rest API, but I am getting response in below format.
� �V*J-.�)Q��V*�L�N-�OI-I��) � � ���&� )Y)� �8 Y �� X��:�*�(� � %�� � U � [���+��� n.�)
What I have tried:
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip");
string postData = my json Data;
byte[] data = Encoding.UTF8.GetBytes(postData);
request.ContentLength = data.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string response_data = "";
try
{
using (StreamReader streamIn = new StreamReader((request.GetResponse()).GetResponseStream()))
{
response_data = streamIn.ReadToEnd();
streamIn.Close();
}
}
catch
{
}
Response.write(response_data);
推荐答案
尝试像这样.
Try like this.
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip");
string postData = my json Data;
byte[] data = Encoding.UTF8.GetBytes(postData);
request.ContentLength = data.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string response_data = "";
try
{
WebHeaderCollection header = response.Headers;
var encoding = ASCIIEncoding.ASCII;
using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding))
{
response_data = reader.ReadToEnd();
}
}
catch
{
}
这篇关于如何获得其余的API响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!