APIのレスポンスお試し用ツール

ブラウザのアドレスに直接入力すると全角がSJISとしてurlencodeされてしまうので(WinVista+Firefox)自分用スクリプトを書いてみた。今まではbinにurlencode.phpというシェル用スクリプトを置いて、変換したのをブラウザにコピペしていた。

<?php
$_encodes = array('UTF-8', 'EUC-JP', 'Shift_JIS');
if (isset($_GET['url'])) {
    $url = urldecode($_GET['url']);
    $p = @parse_url($url);
    if ($p === false) {
        die("parse failed.");
    }
    $api = $p['scheme'] . '://' . $p['host'] . (isset($p['port']) ? ':' . $p['port'] : '') . $p['path'];
    if (isset($p['query'])) {
        parse_str($p['query'], $param);
        $api .= '?';
        $encode = in_array($_GET['encode'], $_encodes) ? $_GET['encode'] : 'UTF-8';
        foreach ($param as $key => $value) {
            $api .= $key . '=' . urlencode(mb_convert_encoding($value, $encode, 'UTF-8')) . '&';
        }
    }
    header("Location: $api");
    exit;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>api test</title>
</head>
<body>
<div>api url, oe</div>
<form action="" method="GET" target="_blank">
<input type="text" name="url" style="width: 60em;" />
<select name="encode">
<?php foreach ($_encodes as $e) : ?>
<option value="<?=$e?>" /><?=$e?>
<?php endforeach; ?>
</select>
<input type="submit" value="submit" />
</form>
<div style="text-align: right; font-size: 70%; color: #999;">developed by <a href="http://blog.zuzara.com/">funaki</a></div>
</body>
</html>
This entry was posted in つくる. Bookmark the permalink. Both comments and trackbacks are currently closed.

One Trackback

  • [...] zuzara : APIのレスポンスお試し用ツール 拙作。ソースを公開。URLを入れて文字エンコードを適切に変換するだけの簡易ツール。 [...]

Page optimized by WP Minify WordPress Plugin