package org.karmaexchange.util;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.SilentCssErrorHandler;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class SEOUtil {
public static String fetchURL(HttpServletRequest request)
{
WebClient webClient = new WebClient();
webClient.setCssErrorHandler(new SilentCssErrorHandler());
try {
String hash = URLDecoder.decode(request.getParameter("_escaped_fragment_"),"utf-8");
HtmlPage page = webClient.getPage(ServletUtil.getBaseUri(request)+"/#!"+hash);
webClient.waitForBackgroundJavaScript(1000);
return page.asXml();
} catch (FailingHttpStatusCodeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
webClient.closeAllWindows();
}
return "Error occured";
}
public static String fetchFBOGTags(HttpServletRequest request) throws UnsupportedEncodingException
{
StringBuffer output = new StringBuffer();
output.append("<meta property=\"og:type\" content=\""+request.getParameter("ogtype")+"\"/>");
output.append("<meta property=\"og:url\" content=\""+URLDecoder.decode(request.getParameter("ogurl"),"utf-8")+"\"/>");
output.append("<meta property=\"og:title\" content=\""+URLDecoder.decode(request.getParameter("ogtitle"),"utf-8")+"\"/>");
output.append("<meta property=\"og:image\" content=\""+URLDecoder.decode(request.getParameter("ogimage"),"utf-8")+"\"/>");
output.append("<script> window.location=\""+URLDecoder.decode(request.getParameter("ogurl"),"utf-8")+"\"</script>");
return output.toString();
}
}