GetResponse——返回 response.Status 字符串而不是 HttpStatusCodes

问题描述 投票:0回答:0

我编写了一个对 Bitly 的 API 的 Restsharp 调用并且它起作用了。我收到了 200、300、400 和 500 范围内编号的 HTTP StatusCode。

现在切换到使用 BitlyAPI Nuget 包,我得到了 RanToCompletion 或 WaitingForActivation 的字符串状态条件。代码有效,但是——

1. 有没有办法通过BitlyAPI PostShorten(GetResponse)代码获取编号的Http-StatisCode?

2. 如果不是,我们可能从 GetResponse 获得的所有状态短语是什么?它们相当于什么状态代码?我为此寻找了一份记录在案的清单,但还没有找到。

我需要能够识别 API 通信问题并设置可能的纠正措施。

谢谢!

using System;
using System.Threading.Tasks;
using BitlyAPI;

namespace ConsoleAPITester
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string authcode = "xyz123";
            string domain = "somecompany.com";
            string groupguid = null; 
            string longurl = @"https://example.com";

            CallShorten(authcode,longurl, domain, groupguid);

        }
        
        public static async void CallShorten(string authcode, string longurl, string domain, string groupguid = null)
        {
            BitlyAPI.Bitly BPI = new BitlyAPI.Bitly(authcode);

            Task<BitlyLink> response = BPI.PostShorten(longurl, groupguid, domain);
            response.Wait();

            Console.WriteLine("Status:" + response.Status);
            Console.WriteLine("Result:created_at:" + response.Result.CreatedAt);
            Console.WriteLine("Result:id:" + response.Result.Id);
            Console.WriteLine("Result:link:" + response.Result.Link);

        }
    }
} 

BitlyAPI Bitly 类中GetResponse 方法(由PostShorten 调用)的最后三行从VS2022 中的“go to definition”获取。我猜从 HttpStatusCode 到 Status(phrase) 的转变是在 EnsureSuccessStatusCode 中吗?

HttpResponseMessage obj = await httpClient.SendAsync(request).ConfigureAwait(continueOnCapturedContext: false);<br/>
obj.EnsureSuccessStatusCode();<br/>
return JsonConvert.DeserializeObject<T>(await obj.Content.ReadAsStringAsync().ConfigureAwait(continueOnCapturedContext: false));<br/>

输出:
状态:RanToCompletion
结果:创建时间:2023-04-25T17:44:40+0000
结果:id:somecompany.com/xyz123
结果:链接:https://somecompany.com/xyz123

c# response http-status-codes bitly
© www.soinside.com 2019 - 2024. All rights reserved.