GET 請求

JumpKick.HttpLib — GET 請求

一、基礎語法

Http.Get("目標位址")
.OnSuccess(result => {
    // 請求成功回呼:接收網頁原始碼文字
})
.OnFail(webexception => {
    // 請求失敗回呼:攔截網路例外
})
.Go(); // 啟動非同步網路請求Code language: JavaScript (javascript)
  • OnSuccess:連線成功、伺服器正常回應時觸發
  • OnFail:網域名稱錯誤、無法連線、404、網路中斷等異常時觸發
  • .Go():執行請求,非同步執行,不會阻塞主執行緒

1:最簡單正常請求(不處理例外)

若缺少 OnFail,一旦發生網路錯誤,程式會直接彈窗崩潰

using System;
using JumpKick.HttpLib;

class Program
{
    static void Main(string[] args)
    {
        Http.Get("https://httpbin.org/html")
        .OnSuccess(result =>
        {
            Console.WriteLine(result);
        })
        .Go();

        Console.ReadKey();
    }
}Code language: JavaScript (javascript)

2:同時處理成功與例外

using System;
using JumpKick.HttpLib;

class Program
{
    static void Main(string[] args)
    {
        Http.Get("https://httpbin.org/html")
        .OnSuccess(result =>
        {
            Console.WriteLine("==== 請求成功 ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== 請求發生例外 ====");
            Console.WriteLine(webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Code language: JavaScript (javascript)

3:手動模擬錯誤

刻意寫錯網域名稱https://httpbin.org/html1(結尾多輸入字母 l),用來測試 OnFail 是否正常運作

using System;
using JumpKick.HttpLib;

class Program
{
    static void Main(string[] args)
    {
        // 錯誤網址:刻意多加字元,造成網域名稱解析失敗
        Http.Get("https://httpbin.org/htmll")
        .OnSuccess(result =>
        {
            Console.WriteLine("==== 請求成功 ====");
            Console.WriteLine(result);
        })
        .OnFail(webexception =>
        {
            Console.WriteLine("==== 請求例外(已攔截) ====");
            Console.WriteLine("例外資訊:" + webexception.Message);
        })
        .Go();

        Console.ReadKey();
    }
}Code language: JavaScript (javascript)

範例

// 不存在的網域,一定會觸發網路例外
Http.Get("https://no-website-test-9999.test")
.OnSuccess(result =>
{
    Console.WriteLine("==== 請求成功 ====");
    Console.WriteLine(result);
})
.OnFail(webexception =>
{
    Console.WriteLine("==== 請求例外(已攔截) ====");
    Console.WriteLine("例外資訊:" + webexception.Message);
})
.Go();
Console.ReadKey();Code language: JavaScript (javascript)

GET 請求

Previous:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *