{"id":14,"date":"2023-12-04T06:25:48","date_gmt":"2023-12-04T09:25:48","guid":{"rendered":"https:\/\/eliasdc.dev\/?p=14"},"modified":"2023-12-15T07:15:48","modified_gmt":"2023-12-15T10:15:48","slug":"como-tratar-o-erro-xyz-para-que-o-titulo-nao-fique-muito-curto","status":"publish","type":"post","link":"https:\/\/eliasdc.dev\/index.php\/2023\/12\/04\/14\/","title":{"rendered":"How to Solve 500 &#8211; Internal Server Error in C# .NET Framework \/ .NET Core REST Requests \u2013 When Postman Works, But Your Code Falters"},"content":{"rendered":"\n<p style=\"font-style:normal;font-weight:400\">In general, a 500 &#8211; Internal Server Error isn&#8217;t a client-side problem. However, if your requests work on Postman or another API platform for developers, and you don&#8217;t have control over the server-side, you may need to adjust your app&#8217;s request to make it work as well.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"281\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Triste-Bebe-chorando.gif\" alt=\"\" class=\"wp-image-81\" style=\"width:413px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Summary<\/strong><\/p>\n\n\n\n<p style=\"font-style:normal;font-weight:500\">1 &#8211; Without further ado, I will demonstrate what resolved a 500 &#8211; Internal Server Error that I was experiencing with .NET Framework.<\/p>\n\n\n\n<p>2 &#8211; If this doesn&#8217;t work for you, I will demonstrate how to identify possible problems for your case.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Let&#8217;s Go<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"262\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Lets-Go.gif\" alt=\"\" class=\"wp-image-82\" style=\"width:334px;height:auto\"\/><\/figure>\n\n\n\n<p>Below is what solved a problem I encountered with .NET Framework (note: this issue didn&#8217;t occur with .NET Core)<\/p>\n\n\n\n<p>Try setting this before making the request: <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * 1.125rem);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\"httpClient.DefaultRequestHeaders.ExpectContinue = false\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">DefaultRequestHeaders<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">ExpectContinue<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">false<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><br>Code Example<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * 1.125rem);--cbp-line-highlight-color:rgba(234, 191, 191, 0.2);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\"using (HttpClient httpClient = new HttpClient())\n{              \n\n    httpClient.BaseAddress = new Uri(&quot;...&quot;);\n\n    httpClient.DefaultRequestHeaders.Accept\n        .Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(&quot;application\/json&quot;));\n\n    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, httpClient.BaseAddress);\n    request.Content = \n        new StringContent(JsonConvert.SerializeObject(objLogin), Encoding.UTF8, &quot;application\/json&quot;);\n\t\t\n\t\t\/\/This ensures that the 'Expect' header isn't sent.\n    httpClient.DefaultRequestHeaders.ExpectContinue = false;\n\t\n    HttpResponseMessage response = httpClient.SendAsync(request).Result;\n\n    Console.WriteLine(response.StatusCode + Environment.NewLine + response.ToString());\n\n    Console.ReadKey();\n}\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">using<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{              <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">BaseAddress<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">Uri<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;...&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">DefaultRequestHeaders<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Accept<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        .<\/span><span style=\"color: #DCDCAA\">Add<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">System<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Net<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Http<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Headers<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">MediaTypeWithQualityHeaderValue<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;application\/json&quot;<\/span><span style=\"color: #D4D4D4\">));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #4EC9B0\">HttpRequestMessage<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpRequestMessage<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">HttpMethod<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Post<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">BaseAddress<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Content<\/span><span style=\"color: #D4D4D4\"> = <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">StringContent<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">JsonConvert<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">SerializeObject<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">objLogin<\/span><span style=\"color: #D4D4D4\">), <\/span><span style=\"color: #9CDCFE\">Encoding<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">UTF8<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;application\/json&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #6A9955\">\t\t\/\/This ensures that the &#39;Expect&#39; header isn&#39;t sent.<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">DefaultRequestHeaders<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">ExpectContinue<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">false<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #4EC9B0\">HttpResponseMessage<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">SendAsync<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #9CDCFE\">Result<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">WriteLine<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">StatusCode<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">Environment<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">NewLine<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">ToString<\/span><span style=\"color: #D4D4D4\">());<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">ReadKey<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><br>Another test that worked for me was to set: <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * 1.125rem);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\"request.Version = HttpVersion.Version10;\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Version<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">HttpVersion<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Version10<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>(I don&#8217;t recommend this code, but that&#8217;s not the focus of this post. Here&#8217;s an interesting discussion on the difference between HTTP versions 1.0 and 1.1: <a href=\"https:\/\/stackoverflow.com\/questions\/246859\/http-1-0-vs-1-1#:~:text=HTTP%201.1%20comes%20with%20persistent,this%20is%20similar%20to%20pragm\">https:\/\/stackoverflow.com\/questions\/246859\/http-1-0-vs-1-1#:~:text=HTTP%201.1%20comes%20with%20persistent,this%20is%20similar%20to%20pragm<\/a>)<\/p>\n\n\n\n<p><br>Code Example<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * 1.125rem);--cbp-line-highlight-color:rgba(234, 191, 191, 0.2);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\"using (HttpClient httpClient = new HttpClient())\n{              \n\n    httpClient.BaseAddress = new Uri(&quot;...&quot;);\n\n    httpClient.DefaultRequestHeaders.Accept\n        .Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(&quot;application\/json&quot;));\n\n\n    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, httpClient.BaseAddress);\n    request.Content = \n        new StringContent(JsonConvert.SerializeObject(objLogin), Encoding.UTF8, &quot;application\/json&quot;);\n    \n    \/\/When you set the version to 1.0, headers and other request parameters change.\n    request.Version = HttpVersion.Version10;\n    \n    HttpResponseMessage response = httpClient.SendAsync(request).Result;\n\n    Console.WriteLine(response.StatusCode + Environment.NewLine + response.ToString());\n    \n    Console.ReadKey();\n}\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">using<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{              <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">BaseAddress<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">Uri<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;...&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">DefaultRequestHeaders<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Accept<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        .<\/span><span style=\"color: #DCDCAA\">Add<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">System<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Net<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Http<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Headers<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">MediaTypeWithQualityHeaderValue<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;application\/json&quot;<\/span><span style=\"color: #D4D4D4\">));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #4EC9B0\">HttpRequestMessage<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpRequestMessage<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">HttpMethod<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Post<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">BaseAddress<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Content<\/span><span style=\"color: #D4D4D4\"> = <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">StringContent<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">JsonConvert<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">SerializeObject<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">objLogin<\/span><span style=\"color: #D4D4D4\">), <\/span><span style=\"color: #9CDCFE\">Encoding<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">UTF8<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;application\/json&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #6A9955\">    \/\/When you set the version to 1.0, headers and other request parameters change.<\/span><\/span>\n<span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Version<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">HttpVersion<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Version10<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #4EC9B0\">HttpResponseMessage<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">SendAsync<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #9CDCFE\">Result<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">WriteLine<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">StatusCode<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">Environment<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">NewLine<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">ToString<\/span><span style=\"color: #D4D4D4\">());<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">ReadKey<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><br>Didn&#8217;t work for you? Keep calm; now, I&#8217;ll provide you with more information on how to find a solution for your case.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Aplausos.gif\" alt=\"\" class=\"wp-image-83\" style=\"width:327px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>If a request doesn&#8217;t work in your C# .NET Framework\/Core application but works in another API platform like Postman on the same machine within the same computer network, it indicates that the two requests are different. <\/p>\n\n\n\n<p>To discover the difference, first, try to identify all headers sent by your app and those sent by your API platform. For illustration, I will use Postman (<a href=\"https:\/\/www.postman.com\/\">https:\/\/www.postman.com\/<\/a>), but other platforms are similar.<\/p>\n\n\n\n<p style=\"font-size:25px\"><br><strong>How to see the headers in Postman<\/strong>?<\/p>\n\n\n\n<p>In Postman, you can find it in the Headers tab or in the Console form (I prefer it in this case)<\/p>\n\n\n\n<p><em>Headers Tab:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"709\" height=\"490\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeaders.png\" alt=\"\" class=\"wp-image-97\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeaders.png 709w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeaders-300x207.png 300w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/figure>\n\n\n\n<p><br><em>Console form:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"691\" height=\"567\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeadersConsole1.png\" alt=\"\" class=\"wp-image-98\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeadersConsole1.png 691w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeadersConsole1-300x246.png 300w\" sizes=\"(max-width: 691px) 100vw, 691px\" \/><\/figure>\n\n\n\n<p><br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"511\" height=\"348\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeadersConsole2.png\" alt=\"\" class=\"wp-image-99\" style=\"width:434px;height:auto\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeadersConsole2.png 511w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/PostmanHeadersConsole2-300x204.png 300w\" sizes=\"(max-width: 511px) 100vw, 511px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p style=\"font-size:25px\"><br><strong>Now, how to see headers in you app?<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"345\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Thinking-Batman-thinking.gif\" alt=\"\" class=\"wp-image-100\" style=\"width:278px;height:auto\"\/><\/figure>\n\n\n\n<p>To make the programmer&#8217;s life easier (or not\u2026 lol), depending on the class used to make the request, some headers are added automatically. This made it difficult to discover the actual headers being sent in the request. To address this issue, I decided to create an API that receives a request and simply returns a List with the headers it received. To help you, I&#8217;ve uploaded this API on GitHub. Below are more details on how to use it:<\/p>\n\n\n\n<p><strong>GitHub Repository<\/strong> <strong>Address:<\/strong> <a href=\"https:\/\/github.com\/eliasedc\/ApiGetHeaders\">https:\/\/github.com\/eliasedc\/ApiGetHeaders<\/a> <\/p>\n\n\n\n<p><strong>FYI,<\/strong> the API was developed in .NET 6, but there are also two console projects simulating clients\u2014one in .NET Framework 4.8 and another one in .NET 6.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"293\" height=\"440\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Solution-Structure.png\" alt=\"\" class=\"wp-image-119\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Solution-Structure.png 293w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Solution-Structure-200x300.png 200w\" sizes=\"(max-width: 293px) 100vw, 293px\" \/><\/figure>\n\n\n\n<p><br>The solution is configured to start the three projects in the same time. I did this to demonstrate that the same request to bring different results between the .NET Framework and .NET Core clients (the Swagger works too):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Clients-Started-1024x541.png\" alt=\"\" class=\"wp-image-120\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Clients-Started-1024x541.png 1024w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Clients-Started-300x158.png 300w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Clients-Started-768x406.png 768w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Clients-Started.png 1365w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br>Both clients send the request in the same way (using the exact same code):<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * 1.125rem);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\"using (HttpClient httpClient = new HttpClient())\n{\n    httpClient.BaseAddress = new Uri(pRequestUrl);\n    httpClient.DefaultRequestHeaders.Accept\n        .Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(&quot;application\/json&quot;));\n\n    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, httpClient.BaseAddress);\n    request.Content =\n        new StringContent(JsonSerializer.Serialize(pObjToSend), Encoding.UTF8, &quot;application\/json&quot;);\n\n    HttpResponseMessage response = httpClient.SendAsync(request).Result;\n    string strResult = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();\n\n    Console.WriteLine(string.Join(Environment.NewLine, JsonSerializer.Deserialize&lt;List&lt;string&gt;&gt;(strResult)));\n\n    Console.ReadKey();\n}\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #C586C0\">using<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">BaseAddress<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">Uri<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">pRequestUrl<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">DefaultRequestHeaders<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Accept<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        .<\/span><span style=\"color: #DCDCAA\">Add<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">System<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Net<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Http<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">Headers<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #4EC9B0\">MediaTypeWithQualityHeaderValue<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;application\/json&quot;<\/span><span style=\"color: #D4D4D4\">));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #4EC9B0\">HttpRequestMessage<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpRequestMessage<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">HttpMethod<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Post<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">BaseAddress<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Content<\/span><span style=\"color: #D4D4D4\"> =<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">StringContent<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">JsonSerializer<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Serialize<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">pObjToSend<\/span><span style=\"color: #D4D4D4\">), <\/span><span style=\"color: #9CDCFE\">Encoding<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">UTF8<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;application\/json&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #4EC9B0\">HttpResponseMessage<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">SendAsync<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">request<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #9CDCFE\">Result<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">string<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">strResult<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">response<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Content<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">ReadAsStringAsync<\/span><span style=\"color: #D4D4D4\">().<\/span><span style=\"color: #DCDCAA\">GetAwaiter<\/span><span style=\"color: #D4D4D4\">().<\/span><span style=\"color: #DCDCAA\">GetResult<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">WriteLine<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">string<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Join<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">Environment<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">NewLine<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">JsonSerializer<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">Deserialize<\/span><span style=\"color: #D4D4D4\">&lt;<\/span><span style=\"color: #4EC9B0\">List<\/span><span style=\"color: #D4D4D4\">&lt;<\/span><span style=\"color: #569CD6\">string<\/span><span style=\"color: #D4D4D4\">&gt;&gt;(<\/span><span style=\"color: #9CDCFE\">strResult<\/span><span style=\"color: #D4D4D4\">)));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">Console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">ReadKey<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-medium-font-size\"><br><strong>See different results:<\/strong><\/p>\n\n\n\n<p><em>.NET Core<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"163\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Net-Core-Results.png\" alt=\"\" class=\"wp-image-123\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Net-Core-Results.png 593w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Net-Core-Results-300x82.png 300w\" sizes=\"(max-width: 593px) 100vw, 593px\" \/><\/figure>\n\n\n\n<p><br><em>.NET Framework<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"195\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Net-Framework-Results.png\" alt=\"\" class=\"wp-image-124\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Net-Framework-Results.png 622w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Net-Framework-Results-300x94.png 300w\" sizes=\"(max-width: 622px) 100vw, 622px\" \/><\/figure>\n\n\n\n<p><br><em>Swagger<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"380\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Swagger-Results-1024x380.png\" alt=\"\" class=\"wp-image-125\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Swagger-Results-1024x380.png 1024w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Swagger-Results-300x111.png 300w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Swagger-Results-768x285.png 768w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Swagger-Results.png 1053w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br><em>Postman<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"905\" height=\"532\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-Results.png\" alt=\"\" class=\"wp-image-126\" style=\"width:840px;height:auto\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-Results.png 905w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-Results-300x176.png 300w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-Results-768x451.png 768w\" sizes=\"(max-width: 905px) 100vw, 905px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\">If you don&#8217;t want to use the clients in your case, you can run the API and input the endpoint of your application to call this API.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><br><strong>And now, what I do with this information?<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"375\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Thinking-Sponge-Bob.gif\" alt=\"\" class=\"wp-image-127\" style=\"width:344px;height:auto\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><br>Well, now you can compare the differences between your app&#8217;s headers and Postman&#8217;s headers. With this information, you can either insert, delete, or modify your app&#8217;s headers to match those in Postman. Alternatively, you can adjust the headers in Postman to match your app for testing purposes.<\/p>\n\n\n\n<p>In my case, this revealed that the &#8216;500 &#8211; Internal Server Error&#8217; was caused by the &#8216;Expect&#8217; header within my application.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><br><strong>It don\u2019t work to me, o what more I can see?<\/strong><\/p>\n\n\n\n<p>You can check the TLS protocol in your API platform and force your application to use the same. <br>FYI, by default, depending on your OS and which .NET version you are using, your system will try to find the best one.<\/p>\n\n\n\n<p>In Postman you can see it in the Console form:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"506\" height=\"393\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-TLS-Protocol.png\" alt=\"\" class=\"wp-image-128\" srcset=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-TLS-Protocol.png 506w, https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Postman-TLS-Protocol-300x233.png 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/figure>\n\n\n\n<p><br>To change the protocol used in your application, simply include the following code before sending your request<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * 1.125rem);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\"ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13;\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">ServicePointManager<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">SecurityProtocol<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">SecurityProtocolType<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Tls13<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><br>Code Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * 1.125rem);--cbp-line-highlight-color:rgba(234, 191, 191, 0.2);line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">C#<\/span><span role=\"button\" tabindex=\"0\" data-code=\" ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13;\n \n using (HttpClient httpClient = new HttpClient())\n {\n     ...\n }\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line cbp-line-highlight\"><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">ServicePointManager<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">SecurityProtocol<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">SecurityProtocolType<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">Tls13<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">using<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">httpClient<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #569CD6\">new<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4EC9B0\">HttpClient<\/span><span style=\"color: #D4D4D4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">     ...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><br><strong>That&#8217;s it<\/strong><\/p>\n\n\n\n<p>In this post, we will explore how to identify the causes of a 500 &#8211; Internal Server Error, possible solutions, and introduce a GitHub API to check and compare headers in your app.<\/p>\n\n\n\n<p>I hope that it will help you.<\/p>\n\n\n\n<p>See you next time!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"226\" src=\"https:\/\/eliasdc.dev\/wp-content\/uploads\/2023\/12\/Mions-Claps.gif\" alt=\"\" class=\"wp-image-129\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In general, a 500 &#8211; Internal Server Error isn&#8217;t a client-side problem. However, if your requests work on Postman or another API platform for developers, and you don&#8217;t have control over the server-side, you may need to adjust your app&#8217;s request to make it work as well. Summary 1 &#8211; Without further ado, I will [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":139,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/posts\/14"}],"collection":[{"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":50,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":173,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions\/173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/media\/139"}],"wp:attachment":[{"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eliasdc.dev\/index.php\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}