舊版套裝組合服務的網址擷取

本頁面說明 App Engine 應用程式如何使用網址擷取服務來發出 HTTP 和 HTTPS 要求並接收回應。如要查看程式碼範例,瞭解如何從 App Engine 應用程式發出 HTTP 和 HTTPS 要求,請參閱「發出 HTTP(S) 要求」。

要求

App Engine 會使用網址擷取服務發出傳出要求。 PHP 語言提供多種用於發出遠端 HTTP 要求的函式。這些函式在 App Engine 中的部署方式並不相同,配額和費用也有差異。如要進一步瞭解不同的類型,請參閱發出 HTTP(S) 要求

要求通訊協定

應用程式可使用 HTTP 或 HTTPS 擷取網址。您可查看目標網址中的通訊協定,藉此推測應使用的通訊協定。

待擷取網址可使用下列範圍的任何連接埠號:

  • 8090
  • 440450
  • 1024-65535

如果網址中沒有連接埠,則由通訊協定默許連接埠。HTTP 要求發生於連接埠 80,HTTPS 要求則發生於連接埠 443

要求方法

如果您是透過網址擷取服務發出要求,則可使用下列任何 HTTP 方法:

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH

要求可包括 HTTP 標頭;若為 POSTPUTPATCH 要求,則可包括酬載。

要求 Proxy

請注意,網址擷取服務使用符合 HTTP/1.1 的 Proxy 來擷取結果。

為了防止應用程式造成要求的無限遞迴,要求處理常式無法擷取本身的網址。但是其他方法仍可能造成無限遞迴,因此如果您的應用程式能夠擷取使用者所提供網址的要求,請務必謹慎作業。

要求標頭

應用程式可針對傳出要求設定 HTTP 標頭。

傳送 HTTP POST 要求時,如果 Content-Type 標頭並未明確設定,則標頭會設定為 x-www-form-urlencoded。這是網頁表單使用的內容型別。

基於安全理由,應用程式無法修改下列標頭:

  • Content-Length
  • Host
  • Vary
  • Via
  • X-Appengine-Inbound-Appid
  • X-Forwarded-For
  • X-ProxyUser-IP

App Engine 會視情況將這些標頭設為正確的值。舉例來說,App Engine 會計算來自要求資料的 Content-Length 標頭,並且先將該標頭新增至要求中,接著再傳送要求。

下列標頭代表發出要求應用程式的應用程式 ID:

  • User-Agent。此標頭可以修改,但是 App Engine 會附加識別碼字串,讓伺服器能識別 App Engine 的要求。附加的字串格式為 "AppEngine-Google; (+http://code.google.com/appengine; appid: APPID)", 其中 APPID 是應用程式的識別碼。
  • X-Appengine-Inbound-Appid。此標頭不可修改;當下列重新導向參數設為 False 時,如果透過網址擷取服務傳送要求,系統就會自動新增此標頭。

要求逾時

您可以針對要求設定期限或逾時。要求的預設逾時時間是 10 秒。HTTP(S) 要求的最大期限是 60 秒;工作佇列和 Cron 工作是 60 秒。

安全連線和 HTTPS

您的應用程式可透過 HTTPS 連線到安全的伺服器,以安全的方式擷取網址。要求與回應資料將以加密的形式透過網路傳輸。

根據預設,URL Fetch Proxy 會驗證其所聯繫的主機。使用 HTTPS 時,API 可透過這項行為偵測 App Engine 與遠端主機之間的「中間人」攻擊。

回應

如果您是使用 URL Fetch API,請注意網址擷取服務會傳回包括回應、程式碼、標頭與內文在內的所有回應資料。

根據預設,網址擷取服務如果收到含有重新導向代碼的回應,網址擷取服務將追蹤這個重新導向。該服務會追蹤最多五個重新導向回應,然後傳回最終資源。您可以指示網址擷取服務不要追蹤重新導向連結,而是將重新導向的回應傳回應用程式。

如果傳入的回應超過回應大小上限,網址擷取服務就會自動截斷回應。詳情請參閱「配額與限制」一節。

在開發伺服器使用網址擷取

在電腦的 App Engine 開發伺服器執行應用程式時,系統會在本機處理網址擷取服務的呼叫。開發伺服器將直接從您的電腦連線至遠端主機以擷取網址,而網路設定則是您的電腦存取網際網路時所使用的任何網路設定。

在測試應用程式用於擷取網址的功能時,請確認您的電腦能夠存取遠端主機。

網址擷取的配額和限制

如要進一步瞭解網址擷取服務的配額,請參閱配額。如要查看應用程式目前的配額使用量,請前往Google Cloud 控制台中的「配額詳細資料」頁面。

前往「配額詳細資料」頁面

此外,以下為使用網址擷取服務的限制:

限制 上限
要求大小 10 MB
要求標頭大小 16 KB (請注意,這會限制在標頭中所能指定的最大網址長度)
回應大小 32 MB
最大期限 (要求處理常式) 60 秒
最大期限 (工作佇列和 Cron 工作處理常式) 60 秒

後續步驟

執行程式碼範例,並在發出 HTTP(S) 要求一文中取得指引,瞭解如何從應用程式發出要求。