當前位置: 妍妍網 > 碼農

10.5K star!一款適合新手的HTTP測試工具,比curl容易上手!

2024-03-29碼農

* 戳上方藍字「 開源先鋒 」關註我

推薦閱讀:

大家好,我是開源君!

傳統的 HTTP 客戶端,比如 curl 和 wget,雖然功能強大,可使用起來就有點麻煩了。需要使用者手動設定各種參數,像是請求方式、目標網址、請求頭、請求體等等。對於剛入門的小夥伴來說,可能會覺得一頭霧水。

今天開源君分享一個更適合新手的計畫 - Hurl

計畫簡介

Hurl 是一個使用 Rust 語言開發的命令列工具,可以執行用簡單純文本格式定義的HTTP請求。既可以用於獲取數據,也可以用於測試HTTP會話。

Hurl是基於curl的,相當於在curl上層進行了一層封裝,可以很方便的在請求裏面添加cooki json等等各種數據,對新手來說非常的友好和人性化。

curl和Hurl程式碼請求對比

計畫特性

  • 鏈式呼叫: 支持多個請求的鏈式呼叫,方便構建復雜的測試用例。

  • 查詢和斷言: 支持多種型別的查詢和斷言,包括 XPath 和 JSONPath 等,可以滿足不同測試需求。

  • 適用場景: 適用於 REST/JSON API、HTML 內容、GraphQL 甚至 SOAP API 等多種場景。

  • CI/CD 整合: 方便整合到 CI/CD 中,支持生成文本報告、JUnit 報告和 HTML 報告,方便測試結果分析。

  • 計畫安裝

    linux二進制安裝

    INSTALL_DIR=/tmp
    VERSION=4.2.0
    curl --silent --location https://github.com/Orange-OpenSource/hurl/releases/download/$VERSION/hurl-$VERSION-x86_64-unknown-linux-gnu.tar.gz | tar xvz -C $INSTALL_DIR
    export PATH=$INSTALL_DIR/hurl-$VERSION:$PATH

    MacOS

    brew install hurl

    windows,在計畫release頁面進行zip或者exe檔下載安裝即可。

    計畫展示

    簡單的get請求

    GET https://example.org

    帶請求頭的get請求

    GET https://example.org/news
    User-Agent: Mozilla/5.0 
    Accept: */*
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate, br
    Connection: keep-alive

    Post請求,帶json數據

    POST https://example.org/api/tests
    {
    "id""456",
    "evaluate"true
    }

    也可以直接使用原生的json檔。

    POST https://example.org/api/tests
    Content-Type: application/json
    file,data.json;

    整體功能上有和Curl相近的地方,但是在curl的基礎上,Hurl做了最兩個最主要的增強功能:

    1、連結多個請求:透過其捕獲功能,可以將接收到的數據註入到後續請求中。在標準的網路會話中,CSRF令牌是典型的範例。

    2、測試HTTP響應:透過其斷言功能,可以輕松測試響應內容。

    更多的計畫的細節功能,感興趣的小夥伴自行到計畫地址進行檢視:

    計畫地址:
    https://github.com/Orange-OpenSource/hurl