共用方式為


設定開發代理伺服器

開發人員 Proxy 是一種命令行工具,可協助您模擬雲端 API 的行為和錯誤,以協助您建置復原的應用程式。

在本教程中,您將學習如何安裝和執行 Dev Proxy。

安裝開發者 Proxy

安裝 Dev Proxy 最簡單的方式是使用 winget。 或者,您可以手動安裝Dev Proxy。

若要使用 winget 安裝 Dev Proxy,請執行下列命令:

winget install DevProxy.DevProxy --silent

重要

開發 Proxy 安裝程式會將新項目新增至 PATH。 若要在安裝之後使用 Dev Proxy,您必須重新啟動命令提示字元以重新整理 PATH 環境變數。

注意

若要嘗試最新的預覽功能,請安裝開發 Proxy 的 Beta 版本。

若要使用 winget 安裝 Dev Proxy,請執行下列命令:

winget install DevProxy.DevProxy.Beta --silent

若要執行開發 Proxy 的 Beta 版本,請使用 devproxy-beta

安裝Dev Proxy最簡單的方式是使用Homebrew。 或者,您可以手動安裝Dev Proxy。

若要使用 Homebrew 安裝 Dev Proxy,請執行下列命令:

brew tap dotnet/dev-proxy
brew install dev-proxy

注意

若要嘗試最新的預覽功能,請安裝開發 Proxy 的 Beta 版本。

若要使用 Homebrew 安裝 Dev Proxy,請執行下列命令:

brew tap dotnet/dev-proxy
brew install dev-proxy-beta

若要執行開發 Proxy 的 Beta 版本,請使用 devproxy-beta

安裝 Dev Proxy 最簡單的方式是使用安裝腳本。 或者,您可以手動安裝Dev Proxy。

若要使用安裝文稿安裝 Dev Proxy,請執行下列命令:

bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"

如果您使用 PowerShell,請執行下列命令:

(Invoke-WebRequest https://aka.ms/devproxy/setup.ps1).Content | Invoke-Expression

注意

若要嘗試最新的預覽功能,請安裝開發 Proxy 的 Beta 版本。

若要使用安裝文稿安裝 Dev Proxy,請執行下列命令:

bash -c "$(curl -sL https://aka.ms/devproxy/setup-beta.sh)"

如果您使用 PowerShell,請執行下列命令:

(Invoke-WebRequest https://aka.ms/devproxy/setup-beta.ps1).Content | Invoke-Expression

若要執行開發 Proxy 的 Beta 版本,請使用 devproxy-beta

首次啟動開發代理伺服器

第一次在計算機上啟動 Dev Proxy 時,有一些步驟需要遵循,以確保開發 Proxy 可以攔截來自您機器的要求並成功回應。 您不需要在第一次執行之後重複這些步驟。

注意

關於憑證:Dev Proxy 只在 你的電腦上使用本地 SSL 憑證來解密 HTTPS 流量。 這就是代理伺服器能看到並修改 API 回應的方式。 憑證會儲存在本地,Dev Proxy 不會上傳任何資料給 Microsoft。 更多細節請參見「 Dev Proxy 是否上傳任何資料給 Microsoft?」一文。

  1. 啟動開發代理伺服器。 開啟命令提示字元會話。 輸入 devproxy,然後按 Enter
  2. 信任憑證。 開發階段的 Proxy 會安裝名為 Dev Proxy CA的憑證。 顯示警告。 選取 [Yes 以確認您要安裝憑證。 開發 Proxy 會使用此憑證來解密從您的電腦傳送的 HTTPS 流量。
  3. 允許防火牆存取。 Windows 防火牆會封鎖 Proxy。 顯示警告。 選取 [Allow access] 按鈕以允許流量通過防火牆。
  1. 啟動開發代理伺服器。 開啟命令提示字元會話。 輸入 devproxy,然後按 Enter
  2. 信任憑證。 開發人員 Proxy 會安裝名為 Dev Proxy CA的憑證,其用來解密從您的電腦傳送的 HTTPS 流量。 顯示警告。 按 來確認您是否要信任憑證。
  3. 接受的傳入連線。 顯示警告。 選取 Allow 以確認。
  1. 啟動開發代理伺服器。 開啟命令提示字元會話。 輸入 devproxy,然後按 Enter

  2. 信任憑證。 開發 Proxy 會使用自定義 SSL 憑證來解密從您的電腦傳送的 HTTPS 流量。

    重要

    下列指示適用於Ubuntu。 對於其他Linux發行版,這些步驟可能會有所不同。

    若要安裝並信任憑證,請在新的命令提示字元中執行下列命令:

    # Export Dev Proxy root certificate
    openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:""
    # Install the certificate
    sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
    # Update certificates
    sudo update-ca-certificates
    

命令提示字元會顯示下列輸出:

 info    8 error responses loaded from devproxy-errors.json
 info    Dev Proxy API listening on http://localhost:8897...
 info    Dev Proxy Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

根據預設,Dev Proxy 會設定為:

  • 攔截發往任何 JSON 佔位 API 端點的請求
  • 模擬 API 錯誤回應和 API 節流,失敗率為 50%

確認開發代理伺服器運作正常

開發代理會攔截您電腦上應用程式對您向開發代理註冊的 URL 發出的請求。 當開發 Proxy 偵測到要求時,它會將它傳遞至 API(不採取任何動作),或傳回回應。 讓我們來確認開發代理伺服器是否如預期運作。

在 PowerShell 中,使用 Invoke-WebRequest Cmdlet 將 GET 要求傳送至 JSON 佔位元 API。

Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts

如果您使用 curl,請使用下列命令將 GET 要求傳送至 JSON 佔位元 API。

curl -ikx http://localhost:8000 https://jsonplaceholder.typicode.com/posts

您也可以使用 API 用戶端,例如 Postman,將 GET 要求傳送至 https://jsonplaceholder.typicode.com/posts

在執行 Dev Proxy 的命令行中,您會看到有關請求的資訊,以及 Dev Proxy 所執行的動作。 根據預設,Dev Proxy 會模擬有 50 個% 機率的錯誤回應。 如果您的要求沒有返回錯誤,Dev Proxy 會將要求傳遞過去。

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 time  │ 1/31/2025 12:12:14 PM +00:00
 skip  │ RetryAfterPlugin: Request not throttled
 skip  │ GenericRandomErrorPlugin: Pass through
 api   ╰ Passed through

如果 Dev Proxy 傳回錯誤回應,您會在輸出中看到錯誤訊息。

 req   ╭ GET https://jsonplaceholder.typicode.com/posts
 time  │ 1/31/2025 12:12:37 PM +00:00
 skip  │ RetryAfterPlugin: Request not throttled
 oops  ╰ 403 Forbidden

🎉 你只是模擬了 API 失效,卻沒改任何程式碼!

你的應用程式也會收到同樣的錯誤。 現在想像測試:

  • 如果你的結帳 API 也發生這種情況怎麼辦?
  • 如果使用者的設定檔載入失敗怎麼辦?

重要

如果您在命令提示字元中看不到任何輸出,則 Dev Proxy 可能不會攔截請求。 如需協助,請參閱 常見問題 一節。

現在測試你的應用程式

你剛剛看到 Dev Proxy 對示範 API 的請求失敗了。 用你自己的應用程式測試:

  1. 找出你的應用程式呼叫的 API URL。 請查看瀏覽器 DevTools 中的 Network 標籤,或在程式碼中尋找 HTTP 用戶端呼叫。

  2. 用你的網址執行開發代理

    devproxy --urls-to-watch "https://your-api.com/*"
    
  3. 正常使用你的應用程式。 看 Dev Proxy 如何在你的 API 呼叫中注入故障。

需要幫忙設定你的技術堆疊中的 Dev Proxy 嗎? 請參閱以下指南:

安全地停止開發 Proxy

當您不再需要執行 Dev Proxy 時,應該一律安全地停止它。

  • 按 Ctrl Ctrl + C,安全地停止開發環境代理。

如果您關閉命令提示字元視窗,Dev Proxy 不會正確地取消註冊為系統代理,而且可能會遇到一些 常見問題

下一步

瞭解如何設定開發人員 Proxy 以符合您的需求。 開發者 Proxy 具有高度的彈性,並支援多種不同的情境。 深入瞭解如何將它設定至您的特定案例。