なんで作った?
URLたくさんポチポチするの嫌だったから・・・。
ちゃんとリダイレクト先が合っているかも確かめたかった。
実行結果
実装
google apps scriptで作っています。
spread sheetからスクリプトエディタ開いてもらって下記をコピペしてください。
redirectTestを実行してもらえれば実行結果のように3列に対して処理が走る仕組みです。
URL列は、調べたいURLをhttpから始めてもらっても、省略した形でも大丈夫です。
status code列は、200なら緑、他は赤に塗られます。
redirect to列は、HTTPレスポンス部分にリダイレクト先が明記されている場合に、リダイレクト先URLを記載します。
いじるのはURL列にURLを羅列するだけ。
gasの処理時間制限の6分があるので、対象URLが多い場合は小分けにするなどしてみてください。
function redirectTest() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('redirect test');
var range = sheet.getDataRange();
var values = range.getValues();
var options = {
'followRedirects' : false
};
var url, code, location, response;
for (var i = 1; i < values.length; i++) {
url = values[i][0];
code = '';
location = '';
response = UrlFetchApp.fetch(url, options);
code = response.getResponseCode();
location = response.getAllHeaders().Location;
paintForStatusCode(range, i + 1, code);
setLocation(range, i + 1, location);
}
}
function paintForStatusCode(range, i, code) {
var cell = range.getCell(i, 2);
cell.setValue(code);
if(code == 200) {
cell.setBackground('#00FF00');
} else {
cell.setBackground('#FF0000');
}
}
function setLocation(range, i, location) {
var cell = range.getCell(i, 3);
if(location != undefined) {
cell.setValue(location);
}
}