透過通訊埠轉送功能存取本機伺服器和 Chrome 執行個體

Meggin Kearney
Meggin Kearney
Sofia Emelianova
Sofia Emelianova

您可以使用通訊埠轉送功能執行下列操作:

  • 案例 1:在其他 Chrome 例項中開啟的分頁進行偵錯。
  • 案例 2:在開發機器的網路伺服器上代管網站,然後透過 USB 傳輸線存取 Android 裝置上的內容。

案例 2中,通訊埠轉送功能會透過 Android 裝置上的監聽 TCP 通訊埠運作,該通訊埠會對應至開發機器上的 TCP 通訊埠。端口之間的流量會透過 Android 裝置和開發機器之間的 USB 連線傳輸,因此這項連線不受網路設定影響。

此外,如果你的網路伺服器使用自訂網域,你也可以透過自訂網域對應設定 Android 裝置,以便存取該網域的內容。

設定通訊埠轉送

視自身情況而定,按照以下步驟進行後續步驟。

案例 1:設定通訊埠轉送至其他 Chrome 例項

  1. 使用 --remote-debugging-port=PORT 參數執行另一個 Chrome 執行個體,例如:

    macOS

    open -a "Google Chrome" --args --remote-debugging-port=PORT

    Windows

    start chrome --remote-debugging-port=PORT

    Linux

    google-chrome --remote-debugging-port=PORT
  2. 在用於偵錯的 Chrome 執行個體上:

    1. 開啟 chrome://inspect/#devices
    2. 確認已勾選 核取方塊。「探索網路目標」
    3. 按一下核取方塊旁的「設定」
    4. 在「Target discovery settings」(目標探索設定) 中輸入 localhost:PORT,勾選 核取方塊。「Enable port forwarding」(啟用通訊埠轉送),然後按一下「Done」(完成)

      目標探索設定視窗。

    5. 回到「裝置」頁面,您會看到新的遠端目標。按一下要偵錯的分頁旁的「檢查」

      遠端目標分頁旁邊的檢查連結。

  3. 系統會在「裝置模式」中開啟新的「開發人員工具」視窗。在頂端的網址列中,輸入要偵錯的網站網址。

    處於裝置模式的開發人員工具。

  4. 你可以在網址列旁邊切換輸入法。

案例 2:透過 USB 為 Android 裝置設定通訊埠轉送

  1. 在開發機器和 Android 裝置之間設定遠端偵錯功能。完成後,清單中會顯示您的 Android 裝置。

    清單中的 Android 裝置。

  2. 確認已勾選「尋找 USB 裝置」核取方塊。

  3. 按一下核取方塊旁的「通訊埠轉送」

  4. 在「通訊埠轉送設定」中,預設會設定 localhost:8080。勾選「啟用通訊埠轉送」

    通訊埠轉送設定。

  5. 如要設定其他通訊埠,請按照下方步驟操作。否則請略過這些步驟,然後按一下「完成」

  6. 在左側的「Port」文字欄位中,輸入您要在 Android 裝置上存取網站的通訊埠號碼。例如,如果您要從 localhost:5000 存取網站,請輸入 5000

  7. 在右側的「IP address and port」(IP 位址和通訊埠) 文字欄位中,輸入網站在開發機器的網路伺服器上執行的 IP 位址或主機名稱,並在後面加上通訊埠編號。舉例來說,如果您的網站在 localhost:5000 上執行,請輸入 localhost:5000

  8. 按一下 [完成]。

通訊埠轉送設定完成。您可以在頂端和裝置名稱旁看到轉送連接埠的狀態指標。

通訊埠轉送狀態。

如要查看內容,請在 Android 裝置上開啟 Chrome,然後前往您在「裝置連接埠」欄位中指定的 localhost 連接埠。舉例來說,如果您在欄位中輸入 5000,就會前往 localhost:5000

對應至自訂本地網域

自訂網域對應可讓您透過自訂網域 (使用自訂網域) 開發機器上的網路伺服器,查看 Android 裝置上的內容。

舉例來說,假設您的網站使用第三方 JavaScript 程式庫,但該程式庫只適用於許可清單中的網域 chrome.devtools。因此,您可以在開發機器的 hosts 檔案中建立項目,將這個網域對應至 localhost (即 127.0.0.1 chrome.devtools)。設定自訂網域對應和通訊埠轉送後,您就能透過網址 chrome.devtools 在 Android 裝置上查看該網站。

設定通訊埠轉送至 Proxy 伺服器

如要對應自訂網域,您必須在開發機器上執行 Proxy 伺服器。代理伺服器的例子包括 CharlesSquidFiddler

如何設定將通訊埠轉送到 Proxy:

  1. 執行 Proxy 伺服器,並記下該伺服器正在使用的通訊埠。

  2. 為 Android 裝置設定通訊埠轉送。在「local address」(本機位址) 欄位中輸入 localhost:,後面加上 Proxy 伺服器執行所在的通訊埠。舉例來說,如果檔案是在通訊埠 8000 上執行,請輸入 localhost:8000。在「Device port」(裝置通訊埠) 欄位中,輸入要 Android 裝置監聽的號碼,例如 3333

在裝置上設定 Proxy

接下來,您需要設定 Android 裝置,讓裝置與 Proxy 伺服器通訊。

  1. 在 Android 裝置上依序前往「設定」>「Wi-Fi」
  2. 長按目前連線的網路名稱。

  3. 輕觸「修改網路」

  4. 輕觸「進階選項」。系統會顯示 Proxy 設定。

  5. 輕觸「Proxy」選單,然後選取「手動」

  6. 在「Proxy hostname」欄位輸入 localhost

  7. 在「Proxy port」欄位中,輸入您在前一個部分中為「device port」輸入的通訊埠編號。

  8. 輕觸 [儲存]

有了這些設定,裝置就會將所有要求轉送至開發機器上的 Proxy。代理程式會代表裝置提出要求,因此系統可正確解析對自訂本機網域的要求。

現在,您可以像在開發機器上存取自訂網域一樣,在 Android 裝置上存取自訂網域。

如果您的網頁伺服器是透過非標準連接埠運作,請記得在從 Android 裝置要求內容時指定連接埠。舉例來說,如果您的網路伺服器在通訊埠 7331 上使用自訂網域 chrome.devtools,當您透過 Android 裝置瀏覽網站時,則應使用 chrome.devtools:7331 這個網址。