nodejs抓取动态网页(nodejs获取客户端真实的IP地址是怎样的?获取)

优采云 发布时间: 2021-11-20 11:06

  nodejs抓取动态网页(nodejs获取客户端真实的IP地址是怎样的?获取)

  1、nodejs获取客户端真实IP地址:

  在一般管理网站中,Taste会需要记录一些用户的操作,并记住是哪个用户执行的操作。这时候就需要用户的ip地址,但是往往当这些应用部署在服务器上之后,会用到ngix等

  代理,用户访问时,需要通过代理查看用户的真实IP地址。下面是nodejs获取客户端真实IP的代码:

  //获取客户端真实ip;

function getClientIp(req) {

var ipAddress;

var forwardedIpsStr = req.headers['X-Forwarded-For'];//判断是否有反向代理头信息

if (forwardedIpsStr) {//如果有,则将头信息中第一个地址拿出,该地址就是真实的客户端IP;

var forwardedIps = forwardedIpsStr.split(',');

ipAddress = forwardedIps[0];

}

if (!ipAddress) {//如果没有直接获取IP;

ipAddress = req.connection.remoteAddress;

}

return ipAddress;

};

  另外,我在网上看到别人写这个:

  //代码,第一段判断是否有反向代理IP(头信息:x-forwarded-for),在判断connection的远程IP,以及后端的socket的IP。

function getClientIp(req) {

return req.headers['x-forwarded-for'] ||

req.connection.remoteAddress ||

req.socket.remoteAddress ||

req.connection.socket.remoteAddress;

};

  2、nodejs中的动态页面指的是静态路径下的内容

  在动态页面中引用静态导入路径下的内容(如图片、css文件)时,注意路径的写法:

  例如:我引用了error.html中“public/images/”下的error.png图片,经过了几步:

  项目*敏*感*词*:

  

  第一步:在app.js中:

  app.use(express.static(path.join(__dirname, 'public')));//表示动态页面可引用public路径下的静态信息

  第二步:error.html:

  在style中,引用背景图片时,不能在路径前加“public/”,只能是:“images/error.png”,因为app.js中已经设置了动态页面,只能引用public下的静态内容,默认在public路径下,只需要从public的下级目录写入即可。

  

  

   1 DOCTYPE html>

2

3

4

5

6 统一支付

7

8 .error-404{background-color:#EDEDF0;}

9 section{display: block;}

10 .clearfix{zoom:1;}

11 .module-error{margin-top:182px;}

12 .module-error .error-main{ margin: 0 auto;width: 420px;}

13 .module-error .label{float: left;width: 160px;height: 151px;background: url("images/error.png") 0 0 no-repeat;}//默认已经在public路径下,尽管改代码在IDE中报错(可以不用管)

14 .module-error .info{ margin-left: 182px;line-height: 1.8;}

15 .module-error .title{color: #666;font-size: 14px;}

16 .module-error .reason{margin: 8px 0 18px 0;color: #666;font-size: 12px;}

17

18

19

20

21

22

23

24

25

26 啊哦,你所访问的页面不存在了。

27

28 可能的原因:

29 1.在地址栏中输入了错误的地址。

30 2.你点击的某个链接已过期。

31

32

33 回到首页>

34 或10s后将自动跳转到首页

35

36

37

38

39

40

41

42 setTimeout("window.location.href='/'",10000);

43

44

45

46

  错误.html

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线