JAVA CXF、XFIRE、AXIS webservice获取客户端IP
2019獨角獸企業重金招聘Python工程師標準>>>
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import org.apache.axis.MessageContext;
import org.apache.axis.transport.http.HTTPConstants;
import org.apache.cxf.transport.http.AbstractHTTPDestination;
import org.codehaus.xfire.transport.http.XFireServletController;
/**
?* @Author MH
?* @version 2011-12-2 上午09:31:49
?*/
public class ClientIpXfire {
?? ?@Resource
?? ?private WebServiceContext context;
?? ?/**
?? ? * CXF獲取客戶端IP地址
?? ? *?
?? ? * @Author MH
?? ? * @return
?? ? */
?? ?public String getClientIpCxf() {
?? ??? ?try {
?? ??? ??? ?javax.xml.ws.handler.MessageContext ctx = context
?? ??? ??? ??? ??? ?.getMessageContext();
?? ??? ??? ?HttpServletRequest request = (HttpServletRequest) ctx
?? ??? ??? ??? ??? ?.get(AbstractHTTPDestination.HTTP_REQUEST);
?? ??? ??? ?String ip = request.getRemoteAddr();
?? ??? ??? ?return ip;
?? ??? ?} catch (Exception e) {
?? ??? ??? ?System.out.println("無法獲取對方主機IP");
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?return null;
?? ??? ?}
?? ?}
?? ?/**
?? ? * XFIRE獲取客戶端IP地址
?? ? *?
?? ? * @Author MH
?? ? * @return
?? ? */
?? ?public static String getClientIpXfire() {
?? ??? ?String ip = null;
?? ??? ?try {
?? ??? ??? ?HttpServletRequest request = XFireServletController.getRequest();
?? ??? ??? ?ip = request.getRemoteAddr();
?? ??? ??? ?return ip;
?? ??? ?} catch (Exception e) {
?? ??? ??? ?System.out.println("無法獲取對方主機IP");
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?return null;
?? ??? ?}
?? ?}
?? ?/**
?? ? * AXIS獲取客戶端IP地址
?? ? *?
?? ? * @Author MH
?? ? * @return
?? ? */
?? ?public static String getClientIpAxis() {
?? ??? ?try {
?? ??? ??? ?MessageContext mc = MessageContext.getCurrentContext();
?? ??? ??? ?HttpServletRequest request = (HttpServletRequest) mc
?? ??? ??? ??? ??? ?.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
?? ??? ??? ?System.out.println("remote ip: " + request.getRemoteAddr());
?? ??? ??? ?return request.getRemoteAddr();
?? ??? ?} catch (Exception e) {
?? ??? ??? ?System.out.println("無法獲取對方主機IP");
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?return null;
?? ??? ?}
?? ?}
}
轉載于:https://my.oschina.net/u/154628/blog/1570460
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的JAVA CXF、XFIRE、AXIS webservice获取客户端IP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebViewJavascriptBri
- 下一篇: 为什么要用GCD-Swift2.x