VB.NET(Windowsアプリ)からWebBrowserに短縮URLを表示(bit.lyでV4のPHP)

はぁ~~~、VB.NETだけでも何か方法があるんでしょうけど、、、、

つい、bit.lyでV4のPHPサンプルを見つけたので、
「VB.NETで作っているアプリ上に細長いサイズ(返って来る短縮URLの1行だけ見えればいいので)WebBrowserコントロールを使って、そこに別サーバーにあるPHPに長いURLを投げて短縮URLを表示する」
ということにしました。

PHP:ファイルの名前はgetbitly.php としてみました。これはWebサーバーに置きます。

<?php
$long_url = $_GET["long_url"];
$apiv4 = 'https://api-ssl.bitly.com/v4/bitlinks';
$genericAccessToken = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';

$data = array(
    'long_url' => $long_url
);
$payload = json_encode($data);

$header = array(
    'Authorization: Bearer ' . $genericAccessToken,
    'Content-Type: application/json',
    'Content-Length: ' . strlen($payload)
);

$ch = curl_init($apiv4);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec($ch);
$resultToJson = json_decode($result);

if (isset($resultToJson->link)) {
    echo $resultToJson->link;
}
else {
    echo 'Not found';
}
?>

VB.NET(VisualStudio2017)・デスクトップアプリ側では、WebBrowserコントールとボタン・テキストボックスを配置して、

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click

        Me.WebBrowser1.Visible = True

        Dim LongURL As String = HttpUtility.UrlEncode(Me.Txtbox1.Text.ToString)
        Dim request = String.Format("https://xxxxxxxx/getbitly.php?long_url={0}", LongURL)

        WebBrowser1.Url = New Uri(request)

    End Sub

※TxtBox1には長ーいURL(??が一杯ついたパラメータ付)のサイトURLをコピーして、ボタンをクリックすると、アプリ内に短縮URLが表示されるという仕組み。最初にわからんかったのは、HttpUtility.UrlEncodeですね。