nodejsリクエストモジュールからリダイレクトされたURLを取得するにはどうしたらいいですか?
2023-10-15 17:49:43
質問
私はnodejsを使用して別のページに私をリダイレクトするURLをフォロースルーしようとしている リクエストモジュール .
ドキュメントを調べても、リダイレクト後のurlを取得できるものは見つかりませんでした。
私のコードは次のとおりです。
var request = require("request"),
options = {
uri: 'http://www.someredirect.com/somepage.asp',
timeout: 2000,
followAllRedirects: true
};
request( options, function(error, response, body) {
console.log( response );
});
どのように解決するのですか?
リダイレクトの連鎖で最後のURLを手に入れるには、2つの非常に簡単な方法があります。
var r = request(url, function (e, response) {
r.uri
response.request.uri
})
uriはオブジェクトです。uri.hrefはクエリパラメータを含むurlを文字列として含みます。
コードはrequestの作者によるgithub issueのコメントから引用しています。 https://github.com/mikeal/request/pull/220#issuecomment-5012579
例
var request = require('request');
var r = request.get('http://google.com?q=foo', function (err, res, body) {
console.log(r.uri.href);
console.log(res.request.uri.href);
// Mikael doesn't mention getting the uri using 'this' so maybe it's best to avoid it
// please add a comment if you know why this might be bad
console.log(this.uri.href);
});
これは、以下のように表示されます。 http://www.google.com/?q=foo と3回表示されます (wwwのないアドレスからwwwのあるアドレスにリダイレクトされたことに注意してください)。
関連
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み] Heroku "状態が起動から停止に変更されました SIGTERMで全プロセスを停止"
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] Node.jsで現在のスクリプトのパスを取得するにはどうしたらいいですか?
-
[解決済み] ローカルにインストールされたPythonモジュールの一覧を取得するにはどうしたらいいですか?
-
[解決済み] PHPでリクエストタイプを検出する(GET, POST, PUT, DELETE)
-
[解決済み] Pythonモジュールをアンロード(再ロード)するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】エラーです。EACCES: 権限が拒否されました、アクセス '/usr/local/lib/node_modules' 。
-
[解決済み】npx コマンドが見つかりません。
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] ReferenceError: describe は定義されていません NodeJs
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] エラーです。Expressでビューの検索に失敗しました