Skip to content

Instantly share code, notes, and snippets.

@adrielAd
Forked from roundrop/gist:1432442
Created September 9, 2019 13:05
Show Gist options
  • Save adrielAd/cca6696c0474ec5198317ef10c31e42c to your computer and use it in GitHub Desktop.
Save adrielAd/cca6696c0474ec5198317ef10c31e42c to your computer and use it in GitHub Desktop.
A sample to shorten url using Google URL Shortener API.
package jp.roundrop.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
public final class GoogleUrlShortener {
public static String shorten(String longUrl) {
if (longUrl == null) {
return longUrl;
}
try {
URL url = new URL("http://goo.gl/api/url");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("User-Agent", "toolbar");
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write("url=" + URLEncoder.encode(longUrl, "UTF-8"));
writer.close();
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = rd.readLine()) != null) {
sb.append(line + '\n');
}
String json = sb.toString();
return json.substring(json.indexOf("http"), json.indexOf("\"", json.indexOf("http")));
} catch (MalformedURLException e) {
return longUrl;
} catch (IOException e) {
return longUrl;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment