Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试执行Get请求时如何包括\r\n?_C#_Get_Httpclient - Fatal编程技术网

C# 尝试执行Get请求时如何包括\r\n?

C# 尝试执行Get请求时如何包括\r\n?,c#,get,httpclient,C#,Get,Httpclient,我试图请求的某个服务器的字符串中有\r\n个字符。当您试图通过浏览器或邮递员等工具获取请求时,这些新行清晰可见。但是,当我尝试通过代码以编程方式获取字符串时,我没有看到\r\n。为什么会这样,或者甚至可以检索\r\n public async Task<TResponse> GetAsync(string uri) { var httpClient = new HttpClient(); var content = await httpClient.GetString

我试图请求的某个服务器的字符串中有\r\n个字符。当您试图通过浏览器或邮递员等工具获取请求时,这些新行清晰可见。但是,当我尝试通过代码以编程方式获取字符串时,我没有看到\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);
}
公共异步任务GetAsync(字符串uri) { var httpClient=新的httpClient(); var content=wait-httpClient.GetStringAsync(uri); 返回JsonConvert.DeserializeObject(内容); } 响应应如下所示,其中需要保留格式:

如果yuor browser或postman让您看到“新行”,可能是因为它们让您看到格式化的json。为了确保这一点,请尝试使用较低级别的工具,如curl或wget

如果使用curl或wget,您将看到没有新行的json,而这只是格式问题。 您所要做的就是反序列化(正如您已经在做的那样)并使用

JsonConvert.SerializeObject(deserializedObject, Formatting.Indented)

通过使用
HttpUtility.JavaScriptStringEncode
对我收到的回应


\r\n当您通过代码实际获取字符串,但实际上将其删除时,即存在。但在浏览器中,它们并没有被删除。或者重新格式化那么
响应[0]是什么样子的呢?你说的“保存”到底是什么意思?它们将出现在字符串中,但作为实际的换行符。哦,我的意思是响应中包含的\r\n将被保留。我得到的是没有内容的响应全文\r\n在我反序列化内容之后当我尝试打印反序列化的响应时,它实际上没有格式化。反序列化时如何保留\r\n内容?可能吗?你打过卷发电话吗?您能给我们看一下输出吗?在上面为需要保留格式的响应部分添加了一个图像。您使用的浏览器是什么?chrome还是firefox?你在检查哪个标签?我在用chrome。我正在尝试使用示例程序获取数据,当我推断反序列化的“响应”时,我没有得到\r\n