Advertisement
Guest User

dirtyaffairs

a guest
Aug 12th, 2009
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.38 KB | None | 0 0
  1.     public static String getQueryStringParameter(
  2.             String queryString, String parameterName) {
  3.        
  4.         String[] parametersArray = queryString.split("&");
  5.         for (String parameter : parametersArray) {
  6.            
  7.             if (parameter.contains(parameterName + "=")) {
  8.                
  9.                 return parameter.split("=")[1];
  10.             }
  11.         }
  12.         return null;
  13.     }
  14.    
  15.     public static String getSearchEngineQueryString(
  16.             HttpServletRequest request) {
  17.  
  18.         String referer = request.getHeader("Referer");
  19.         String queryString;
  20.         String hostName;
  21.         if (referer != null) {
  22.            
  23.             //Validate that Referer header value is a correct URL, a
  24.             //MalformedURLException is thrown if not
  25.             URL refererURL;
  26.             try {
  27.                 refererURL = new URL(referer);
  28.             } catch (MalformedURLException e) {
  29.                 return null;
  30.             }
  31.            
  32.             hostName = refererURL.getHost();
  33.             queryString = refererURL.getQuery();
  34.            
  35.             if (hostName.toLowerCase().contains("google")) {
  36.                
  37.                 queryString = getQueryStringParameter(queryString, "q");
  38.            
  39.             } else if (hostName.toLowerCase().contains("yahoo")) {
  40.                
  41.                 queryString = getQueryStringParameter(queryString, "p");
  42.                
  43.             } else if (hostName.toLowerCase().contains("bing")) {
  44.                
  45.                 queryString = getQueryStringParameter(queryString, "q");
  46.                
  47.             } else {
  48.  
  49.                 //Search engine not recognized
  50.                 return null;
  51.             }
  52.             return queryString;
  53.         }
  54.         //No Referer header found
  55.         return null;
  56.     }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement