以前のバンドル サービスの URL 取得

このページでは、URL 取得サービスを使用して HTTP および HTTPS のリクエストを送信し、レスポンスを受信する方法について説明します。

リクエスト

リクエストのプロトコル

アプリケーションは、HTTP または HTTPS のいずれかで URL を取得できます。必要なプロトコルは、ターゲット URL のプロトコルから判断されます。

取得された URL は、以下の範囲内にある任意のポートを使用します。

  • 80 - 90
  • 440 - 450
  • 1024 - 65535

URL にポート番号が含まれていない場合、使用するポートはプロトコルで判断します。HTTP リクエストはポート 80 を使用し、HTTPS リクエストはポート 443 を使用します。

リクエストのメソッド

URL 取得サービスを使用してリクエストを発行する場合、次のいずれかの HTTP メソッドを使用できます。

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

リクエストには、HTTP ヘッダーを追加できます。POSTPUTPATCH リクエストにはペイロードを追加できます。

リクエストのプロキシ

URL 取得サービスは、HTTP/1.1 互換のプロキシを使用して結果を取得することに注意してください。

アプリケーションがリクエストを無限に繰り返さないようにするため、リクエスト ハンドラは自分自身の URL を取得することはできません。他の方法でも無限に再帰する可能性はあります。ユーザーが指定した URL に対するリクエストをアプリケーションで取得する場合には注意してください。

リクエスト ヘッダー

アプリケーションで送信リクエストに 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 が ID 文字列を追加します。追加される文字列の形式は "AppEngine-Google; (+http://code.google.com/appengine; appid: APPID)" で、APPID はアプリの識別子です。
  • X-Appengine-Inbound-Appid。このヘッダーは変更できません。リクエストが URL 取得サービス経由で送信されたときに、自動的に追加されます。

リクエストのタイムアウト

リクエストの期限(タイムアウト)を設定できます。リクエストのデフォルトのタイムアウトは 10 秒に設定されています。

安全な接続と HTTPS

アプリケーションで、HTTPS を使用して安全なサーバーに接続し、URL を取得することもできます。リクエストとレスポンスのデータは暗号化され、ネットワーク上で送受信されます。

レスポンス

URL Fetch API を使用する場合、URL 取得サービスは、レスポンス コード、ヘッダー、本文を含むすべてのレスポンス データを返すことに注意してください。

デフォルトでは、URL 取得サービスがリダイレクト コードを含むレスポンスを受信すると、サービスがリダイレクトします。サービスは、最大 5 つまでのリダイレクト レスポンスに対応し、最後のリソースを返します。

開発用サーバーでの URL 取得の使用

パソコン上の App Engine 開発用サーバーでアプリケーションを実行している場合、URL 取得サービスに対する呼び出しはローカルで処理されます。開発用サーバーは、パソコンからリモートホストに直接接続して URL を取得します。この場合、パソコンのネットワーク接続を使用してインターネットにアクセスします。

URL を取得するアプリケーションの機能をテストする場合、パソコンからリモートホストにアクセスします。

URL 取得の割り当てと制限

URL 取得サービスの割り当てについては、割り当てをご覧ください。アプリケーションの現在の割り当て使用量を確認するには、Google Cloud Console の割り当ての詳細ページに移動します。

割り当ての詳細ページに移動

また、URL 取得サービスの使用には、以下の制限も適用されます。

Limit Amount
Request size 10 megabytes
Request header size 16 KB (Note that this limits the maximum length of the URL that can be specified in the header)
Response size 32 megabytes
Maximum deadline (request handler) 60 seconds
Maximum deadline (Task Queue and cron job handler) 60 seconds