2016-02-09 27 views
0

我正在使用Apache Httpclient通過代理打開URL並獲取響應,而不是我想通過代理傳遞站點參數來重定向站點。 這是我的代碼,它是一個servlet如何從代理java重定向到站點

 String parameter= request.getParameter("parameter"); 
    HttpClient httpClient = new HttpClient(); 


     httpClient.getHostConfiguration().setProxy(proxyhost, proxyport); 
     log.info("message:::"+message); 
     PostMethod postMethod = new PostMethod(url); 
     NameValuePair[] data = new NameValuePair[1]; 
     data[0] = new NameValuePair("parameter", parameter); 
     postMethod.setRequestBody(data); 

     int code = httpClient.executeMethod(postMethod); 
     response.setContentType("text/html"); 
     PrintWriter out=response.getWriter(); 
     out.print(postMethod.getResponseBodyAsString()); 

實際的問題是我得到來自其他網站和HTML響應被渲染並點擊瀏覽器的網址正在從我的服務器打開的鏈接,因爲響應即將到來這個這種格式 var url「../../someparams」 它應該確實打開http://url/someparams(url這裏是上面提到的代碼中的一個)或者只要URL使用代理命中,我們就可以重定向到瀏覽器中的那個頁面我的意思是通過該代理打開URL並刪除被調用的servlet的URl。

@Law Anthony: response.sendRedirect(「http://www.google.com」);沒有幫助

需要你的幫助來解決這個問題。

+0

它如何解決不了問題? – mob41

回答

0

這是一個servlet嗎? 如果是,

repsonse.sendRedirect("http://www.google.com"); 

這將發送一個代碼302重定向到所述請求。

編輯:你到底想要什麼?

相關問題