尝试执行 Get 请求时如何包含 \r\n?
How to include \r\n when trying to do a Get request?
我尝试请求的其中一台服务器的字符串中包含 \r\n。当您尝试通过浏览器或 Postman 等工具获取请求时,这些新行清晰可见。但是,当我尝试通过代码以编程方式获取字符串时,我没有看到 \r\n。为什么这是或什至可以检索 \r\n?
public async Task<TResponse> GetAsync(string uri)
{
var httpClient = new HttpClient();
var content = await httpClient.GetStringAsync(uri);
return JsonConvert.DeserializeObject<TResponse>(content);
}
响应应如下所示,其中需要保留格式:
如果您的浏览器或邮递员让您看到“新行”,可能是因为它们让您看到格式化的 json。为确保这一点,请尝试使用 curl 或 wget 等较低级别的工具。
如果使用 curl 或 wget,您会看到 json 没有换行,这只是格式问题。
您所要做的就是反序列化(就像您已经在做的那样)并使用
重新序列化对象
JsonConvert.SerializeObject(deserializedObject, Formatting.Indented)
找到了使用 HttpUtility.JavaScriptStringEncode
来保留马车 returns 的方法
我收到的回复。
我尝试请求的其中一台服务器的字符串中包含 \r\n。当您尝试通过浏览器或 Postman 等工具获取请求时,这些新行清晰可见。但是,当我尝试通过代码以编程方式获取字符串时,我没有看到 \r\n。为什么这是或什至可以检索 \r\n?
public async Task<TResponse> GetAsync(string uri)
{
var httpClient = new HttpClient();
var content = await httpClient.GetStringAsync(uri);
return JsonConvert.DeserializeObject<TResponse>(content);
}
响应应如下所示,其中需要保留格式:
如果您的浏览器或邮递员让您看到“新行”,可能是因为它们让您看到格式化的 json。为确保这一点,请尝试使用 curl 或 wget 等较低级别的工具。
如果使用 curl 或 wget,您会看到 json 没有换行,这只是格式问题。 您所要做的就是反序列化(就像您已经在做的那样)并使用
重新序列化对象JsonConvert.SerializeObject(deserializedObject, Formatting.Indented)
找到了使用 HttpUtility.JavaScriptStringEncode
来保留马车 returns 的方法
我收到的回复。