Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static String getQueryStringParameter(
- String queryString, String parameterName) {
- String[] parametersArray = queryString.split("&");
- for (String parameter : parametersArray) {
- if (parameter.contains(parameterName + "=")) {
- return parameter.split("=")[1];
- }
- }
- return null;
- }
- public static String getSearchEngineQueryString(
- HttpServletRequest request) {
- String referer = request.getHeader("Referer");
- String queryString;
- String hostName;
- if (referer != null) {
- //Validate that Referer header value is a correct URL, a
- //MalformedURLException is thrown if not
- URL refererURL;
- try {
- refererURL = new URL(referer);
- } catch (MalformedURLException e) {
- return null;
- }
- hostName = refererURL.getHost();
- queryString = refererURL.getQuery();
- if (hostName.toLowerCase().contains("google")) {
- queryString = getQueryStringParameter(queryString, "q");
- } else if (hostName.toLowerCase().contains("yahoo")) {
- queryString = getQueryStringParameter(queryString, "p");
- } else if (hostName.toLowerCase().contains("bing")) {
- queryString = getQueryStringParameter(queryString, "q");
- } else {
- //Search engine not recognized
- return null;
- }
- return queryString;
- }
- //No Referer header found
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement