Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-account
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.account
pica-cloud-account
提交
0fe1a436
提交
0fe1a436
编写于
4月 03, 2020
作者:
Chongwen.jiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加测试代码
上级
7a0e7803
流水线
#23880
已失败 于阶段
in 0 second
变更
2
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
115 行增加
和
2 行删除
+115
-2
AutoCodeController.java
...account/account/server/controller/AutoCodeController.java
+56
-2
AutoCodeControllerTest.java
...account/account/server/mapper/AutoCodeControllerTest.java
+59
-0
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/AutoCodeController.java
浏览文件 @
0fe1a436
...
@@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.PostMapping;
...
@@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Enumeration
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -61,8 +62,61 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -61,8 +62,61 @@ public class AutoCodeController extends AccountBaseController {
@GetMapping
(
"/ip"
)
@GetMapping
(
"/ip"
)
public
PicaResponse
getIp
(
HttpServletRequest
request
)
{
public
PicaResponse
getIp
(
javax
.
servlet
.
http
.
HttpServletRequest
request
)
{
return
PicaResponse
.
toResponse
(
IPUtil
.
getIpAdrress
(
request
));
//return PicaResponse.toResponse(IPUtil.getIpAdrress(request));
String
ip
=
null
;
//X-Forwarded-For:Squid 服务代理
String
ipAddresses
=
request
.
getHeader
(
"X-Forwarded-For"
);
Enumeration
<
String
>
headerNames
=
request
.
getHeaderNames
();
while
(
headerNames
.
hasMoreElements
())
{
//打印所有头信息
String
s
=
headerNames
.
nextElement
();
String
header
=
request
.
getHeader
(
s
);
// System.out.println(s+"::::"+header);
}
// System.out.println("headerNames:"+ JSON.toJSONString(headerNames));
// System.out.println("RemoteHost:"+request.getRemoteHost());
// System.out.println("RemoteAddr:"+request.getRemoteAddr());
String
unknown
=
"unknown"
;
if
(
ipAddresses
==
null
||
ipAddresses
.
length
()
==
0
||
unknown
.
equalsIgnoreCase
(
ipAddresses
))
{
//Proxy-Client-IP:apache 服务代理
ipAddresses
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ipAddresses
==
null
||
ipAddresses
.
length
()
==
0
||
unknown
.
equalsIgnoreCase
(
ipAddresses
))
{
//WL-Proxy-Client-IP:weblogic 服务代理
ipAddresses
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ipAddresses
==
null
||
ipAddresses
.
length
()
==
0
||
unknown
.
equalsIgnoreCase
(
ipAddresses
))
{
//HTTP_CLIENT_IP:有些代理服务器
ipAddresses
=
request
.
getHeader
(
"HTTP_CLIENT_IP"
);
}
if
(
ipAddresses
==
null
||
ipAddresses
.
length
()
==
0
||
unknown
.
equalsIgnoreCase
(
ipAddresses
))
{
//X-Real-IP:nginx服务代理
ipAddresses
=
request
.
getHeader
(
"X-Real-IP"
);
}
//有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP
if
(
ipAddresses
!=
null
&&
ipAddresses
.
length
()
!=
0
)
{
ip
=
ipAddresses
.
split
(
","
)[
0
];
}
//还是不能获取到,最后再通过request.getRemoteAddr();获取
if
(
ip
==
null
||
ip
.
length
()
==
0
||
unknown
.
equalsIgnoreCase
(
ipAddresses
))
{
ip
=
request
.
getRemoteAddr
();
}
if
(
"0:0:0:0:0:0:0:1"
.
equalsIgnoreCase
(
ip
)){
ip
=
"127.0.0.1"
;
}
return
PicaResponse
.
toResponse
(
ip
);
}
}
/*@ApiOperation("数据加密-方便测试")
/*@ApiOperation("数据加密-方便测试")
...
...
server/test/main/java/com/pica/cloud/account/account/server/mapper/AutoCodeControllerTest.java
0 → 100644
浏览文件 @
0fe1a436
// Copyright 2016-2101 Pica.
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
import
com.alibaba.fastjson.JSON
;
import
com.pica.cloud.account.account.server.controller.AutoCodeController
;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.util.AESUtil
;
import
com.pica.cloud.account.account.server.util.RSAUtil
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @ClassName AutoCodeControllerTest
* @Description
* @Author Chongwen.jiang
* @Date 2020/4/3 14:31
* @ModifyDate 2020/4/3 14:31
* @Version 1.0
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
public
class
AutoCodeControllerTest
{
/*@Autowired
private AutoCodeController autoCodeController;
@Test
public void getH5AuthCodeTest() throws Exception {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
String publicKey = "1234567890123456";
BaseRequest req= new BaseRequest();
req.setFlag(4);
req.setMobile("13517477655");
req.setCapCode(String.valueOf(System.currentTimeMillis()));
req.setxPos(126);
req.setDevice_token("000000");
req.setSourceType(4);
String content = AESUtil.aesEncrypt(JSON.toJSONString(req), publicKey);
String encryptKey = RSAUtil.encrypt(publicKey);
EncryptEntity entity = new EncryptEntity();
entity.setKey(encryptKey);
entity.setContent(content);
autoCodeController.getH5AuthCode(entity, request);
}*/
}
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录