2011年11月16日

如何將各種不同短網址服務(URL Shortening Services)產生的短網址還原

最近遇到一個需求,要用程式將大量的短網址還原為原始的完整網址,以便進一步對這些網址作分析,在 .NET 中可以很容易的完成這個功能。

首先要先擬出個大概的流程,也就是利用程式送出 HTTP GET request,然後針對收到的 HTTP response 去解析完整的網址為何。

有了大概的概念之後,大概 Google 一下就會找到這篇 MSDN 參考資料:How to: Send Data Using the WebRequest Class. 從裡面可以知道,WebRequest 和 WebResponse 會是最重要的兩個 class。

重點程式如下:

一:以短網址作為參數,建立一個新的 WebRequest 物件,並設定要使用 HTTP GET:
WebRequest request = WebRequest.Create("http://goo.gl/UjDtF");
request.Method = "GET";

二:若你的環境需要透過 proxy 才可以連外,則加入以下這行:
request.Proxy = WebProxy.GetDefaultProxy();

三:發出 request,並解析收到的 response,原始的網址就是 response 的 ResponseUri.AbsoluteUri:
WebResponse response = request.GetResponse();
string originalURL = response.ResponseUri.AbsoluteUri;

就這麼簡單,完整的範例程式碼請參考RestoreShortURL.zip

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D