Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8940

Node.js + JavaScript で HTTP リダイレクト先の URL を取得する

$
0
0

概要

  • Node.js + JavaScript で HTTP リダイレクト先の URL を取得する
  • 動作確認環境: Node.js 14.7.0 + macOS Catalina

ソースコード

get_redirect.js というファイル名で以下の内容を保存する。

get_redirect.js
'use strict'consthttps=require('https')consthttp=require('http')// リダイレクト先 URL を取得する関数functionget_redirect_url(src_url){returnnewPromise((resolve,reject)=>{try{// https と http で使うモジュールを変えるconstclient=src_url.startsWith('https')?https:http// 4xx や 5xx ではエラーが発生しないので注意client.get(src_url,(res)=>{// HTTP レスポンスから Location ヘッダを取得 (ヘッダ名は小文字)resolve(res.headers['location'])}).on('error',(err)=>{reject(err)})}catch(err){reject(err)}})}(async()=>{// コマンドライン引数を取得constsrc_url=process.argv[2]// リダイレクト先URLを取得constredirect_url=awaitget_redirect_url(src_url).catch(err=>{console.log(err)})// リダイレクト先URLを出力if(redirect_url){console.log(redirect_url)}})()

実行例。

$ node get_redirect.js https://bit.ly/3kmTOkc
https://t.co/yITSBp4ino
$ node get_redirect.js https://t.co/yITSBp4ino
https://qiita.com/niwasawa
$ node get_redirect.js https://qiita.com/niwasawa

参考資料


Viewing all articles
Browse latest Browse all 8940

Trending Articles