問題タブ [urlfetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2052 参照

google-app-engine - Google App Engine URL Fetch で X-Forwarded-For ヘッダーに設定される値は何ですか?

ドキュメントには次のように書かれています ( http://code.google.com/appengine/docs/java/urlfetch/overview.html#Request_Headers ):

これらのヘッダーは、必要に応じて App Engine によって正確な値に設定されます

X-Forwarded-For の値には、gae アプリケーションの ID が含まれていますか?

0 投票する
1 に答える
1248 参照

python - Google App Engine アプリから Picasa にクエリを実行するにはどうすればよいでしょうか? データ API または URL フェッチ?

Google App Engine アプリから Picasa にクエリを実行するにはどうすればよいでしょうか? データ API または URL フェッチ? どちらの方法を使用する場合の長所と短所は何ですか?

[編集]
Picasa で特定のアルバムを照会し、その中のすべての写真を一覧表示できるようにしたいと考えています。Python でこれを行うためのコード例は大歓迎です。

0 投票する
2 に答える
3284 参照

python - Google App Engine から urlfetch をインポートする理由

ここ Google App Engines で、URL によって任意の Web ページの HTML コードを取得するのに役立つ次のコードを取得しました。

ここで(実際には他の多くのことの中で)1つのことを理解していません。なぜこのコードで google.appengine.api から urlfecth をインポートすることが提案されているのですか?Python にはこのコマンドがありませんか?

0 投票する
1 に答える
393 参照

html - ここにある Google App Engine の URL 取得コードに問題はありますか?

ブラウザー (FireFox) でページのソースを表示し (View->Page Source)、それをコピーして HTML エディターに貼り付けると、ほとんど同じページが表示されます (この例では www.google.com)。ブラウザに表示されるとおりです。しかし、このコードを介して (Google の App Engine を介して) HTML ソースを取得すると、

それをコピーして HTML エディタに貼り付けると、ページがまったく異なって見えます。なぜそうなのですか?コードに何か問題がありますか?

+++++++++++++++++++++++++++++++

ファローアップ:

この瞬間 (正確には 2009 年 12 月 13 日日曜日午後 1 時 1 分、GMT) に、2 つのコメント質問 ( AaronChristian P.から) とAlex Martelliから 1 つの回答を受け取りました。

AaronChristian P.の両方が、Fire-Fox で取得したソースと Google-App-Engine で取得したソースを同じ HTML エディターで表示した場合の実際の違いについて質問しています。

ここに私もスクリーンショットをアップロードしました:

1 つは、Fire-Fox が取得したソースを示しています

もう 1 つは、Google-App-Engine で取得したソースを示しています

「MS Front Page」エディターで両方を表示した場合。

非常に明白な違いの 1 つは、エンコーディングの違いです。Fire-Fox コードではすべてが英語で表示されますが、Google-App-Engine コードでは代わりに多くのさまざまな記号が表示されます。

もう 1 つの違いは、Google App Engine コードのページの上部にある追加の行です。これは、 Alex Martelliが彼の回答で話していたことだと思います (「... fetch-and-print アプローチには、メタデータも含まれます...」)。

もう 1 つの小さな違いは、Google 画像のボックスが 1 つのコードでは複数のボックスに分割されているのに対して、別のコードでは完全なままであることです。

Alex Martelliは、私がこのコードを使用することを提案しました (私が彼を正しく理解していれば):

試してみましたが、この場合は何も表示されません。

ご回答いただきありがとうございます。引き続きご回答ください。この問題が最終的に解決されることを心から願っています。

+++++++++++++++++++++++++++++++

ファローアップ:

さて、問題は解決しました。

私はAlex Martelliの指示に十分な注意を払うことができなかったため、間違ったコードを思いつきました。これが彼の正しいものです:

このコードは必要なものを正確に表示します。ページの上部に追加の行はありません。

うーん、まだ奇妙な記号が表示されますが、これはおそらく Google の問題であることがわかりました。問題は、私は現在台湾にいて、Google はそれを認識しているようで、自動的に www.google.com (英語) から www.google.com.tw (中国語) に切り替えますが、これは、 私は、すでに別のトピックだと思います。

ここで回答してくれたすべての人に感謝します。

0 投票する
3 に答える
2948 参照

google-app-engine - App Engine での非同期 urlfetch

私のアプリは、リクエストごとに多くのデータストア操作を行う必要があります。より良い応答時間を得るために、それらを並行して実行したいと思います。

データストアの更新については、バッチ プットを行っているため、それらはすべて非同期で行われるため、ミリ秒単位で節約できます。App Engine では、最大 500 のエンティティを並行して更新できます。

しかし、さまざまな種類のデータストア フェッチを並行して実行できるようにする組み込み関数は見つかりませんでした。

App Engine では urlfetch 呼び出しを非同期で実行できるため、クエリ結果を JSON 形式のテキストとして返すゲッター URL を種類ごとに作成しました。これで、アプリはこれらの URL に対して非同期の urlfetch 呼び出しを実行できるようになり、データストアのフェッチを並列化できるようになりました。

この手法は、少数の並列リクエストではうまく機能しますが、これらの urlfetch 呼び出しを同時に 5 つまたは 10 を超えて実行しようとすると、App Engine はエラーをスローします。

私は今テストしているだけなので、各 urlfetch は同一のクエリです。それらは少量では問題なく動作しますが、同時リクエストが多数になると失敗し始めるため、非同期の urlfetch 呼び出しと関係があるに違いないと考えています。

私の質問は次のとおりです。

  1. 非同期で実行できる urlfetch.create_rpc() 呼び出しの数に制限はありますか?
  2. 同期 urlfecth.fetch() 関数には、失敗する前に関数が応答を最大 10 秒待機できるようにする「deadline」パラメーターがあります。urlfetch.create_rpc() に応答を待つ時間を伝える方法はありますか?
  3. 以下に示すエラーは何を意味しますか?
  4. さまざまな種類のデータストア フェッチを並行して実行するための、より優れたサーバー側の手法はありますか?

    ファイル "/base/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py" の 501 行目、get_result で self.__get_result_hook(self) を返す ファイル "/base/python_lib/versions/1/google/appengine/api" /urlfetch.py​​"、331 行目、_get_fetch_result raise DownloadError(str(err)) InterruptedError: ('Wait() 要求は、別のコールバックからの例外によって中断されました:'、DownloadError('ApplicationError: 5 ',))

0 投票する
1 に答える
572 参照

google-app-engine - 一部のGoogleサービスを呼び出すときにurlfetchがダウンロードエラーをスローするのはなぜですか?

一部のGoogleサービスがAppEngineサーバーからのリクエストをブロックしているため、urlfetchDownloadErrorが発生していることに気付きました。例としては、feedproxy.google.comのURL(http://feedproxy.google.com/~r/blabbermouth/~3/cAk78LX4gJE/news.aspxなど)があります。

これは、これまでに試したすべてのアプリで発生します。これには、これまでどのような種類のURLフェッチにも使用したことのないアプリIDも含まれます。この動作は、ローカルSDKでも発生しません。これは、リクエストを行うときにGAEIPアドレスを使用した結果であると私に信じさせます。

奇妙なことに、正常に取得された応答でエラーstatus_codeではなく、DownloadErrorがスローされます。urlfetchまたはhttplibをローカルで使用すると問題なく動作するため、このDownloadErrorはまだ問題がないか、単なるバグです。その場合は、チケットを提出します。

0 投票する
1 に答える
4060 参照

google-app-engine - GoogleAppEngineurlfetchタイムアウト例外

GAE urlfetchを使用しているときに、次の例外を経験した人はいますか?

HTTPPOSTリクエストを送信しようとしています。そのようです:

締め切りを最大(10秒)に設定してみました。コマンドラインからのリクエスト(curlまたはhttplib2を使用)には約1秒かかります。


これがcurlリクエストのdevappserverからの出力です(私はappengine-rest-serverを使用しています):

urlfetchを使用しようとしたときの出力は次のとおりです。

0 投票する
1 に答える
97 参照

python - HTML のスニペットの提供と urlfetch の使用

事前にレンダリングされた html の小さな塊としてプロファイルが要求される appengine Web サイトのセクションを「モジュール化」しようとしています。

/userInfo?id=4992 にリクエストを送信すると、次のような html が送信されます。

したがって、私の Google appengine コードから、人々のグループを表示するときに、この URL から結果を繰り返し取得できる必要があります。

今できる唯一の方法は、次のような <iframes> のコレクションを送信することです

iframe は、データを要求するために機能します。

urlfetch.fetch()を使用してみましたが、タイムアウトし続けます。

私はこれを正しく行っていますか?これはハンディダンディ (html のスニペットを提供する URL) だと思っていましたが、設計エラーのように見えます。

0 投票する
1 に答える
366 参照

python - urlfetch.fetch で、アプリ エンジンの html のスクリプト タグ内にコンテンツがありませんでした

私のアプリでは、urlfetch.fetch 関数を使用して指定した URL をフェッチすると、取得したコンテンツがいくつかの特別な html コードに対して空であることがわかりました。

たとえば、URL: http://www.club.cn.sodexo.com/node/5071 を実際の html ソースで、次のコードを含む:

しかし、私がurl fetchで得たものから:結果は次のようになります:

/* <![CDATA[ */との間のすべての JavaScript コード/* ]]> */が欠落しており、非常に配線されています。誰でも問題を知っていますか?この問題を修正することは可能ですか?

0 投票する
1 に答える
366 参照

google-app-engine - urlfetch final_url は None を返します

私が取り組んでいる製品は、Google App Engine 上で実行されます。次のようなコードが含まれています。

これは常に None を返します。ドキュメントでは、正しい URL を返すと書かれています。しかし、これは問題があるようです。間に多くの 302 が発生しているため、指定された URL を使用できません。

誰でも同じ問題を解決する方法を知っていますか?