Django获取访问者IP + 代理测试

想要获取访问者的IP(公网地址),就必须要把项目部署在服务器上

一:前期准备

1.需要的材料

  • 一台有公网IP的服务器
  • Django项目:https://gitee.com/xuexianqi/spider-test

2.采用的方案

  • 云服务器上安装Docker
  • Docker中用CentOS拉起Django项目

3.需要注意的点

  • Django项目的settings中的ALLOW_HOST需要改为['*']
  • 启动的时候,允许访问的IP设置为:0.0.0.0
  • 服务器的端口(安全组)需要放行

二:项目部署

1.安装 并 启动Docker

http://www.xuexianqi.top/archives/664.html

2.拉取CentOS7.9

docker pull centos:7.9.2009

3.启动CentOS7.9

  • 启动的时候要进行端口映射
docker run -dit -p 8000:8000 --name centos01 centos:7.9.2009
  • 查看已启动的容器
docker ps

4.进入容器

docker exec -it centos01 bash

5.安装一些需要的工具

  • vim:文本编辑器 - 用于编辑文件
  • net-tools:网络工具 - 用于查看网络 和 ping其他网络
  • python36:Python解释器 - 用于安装Django项目的依赖
  • git:版本控制工具 - 用于拉取项目
yum install vim net-tools python36 git -y

6.测试网络

ping www.baidu.com

7.拉取Git项目

① 创建并进入自定义的目录
mkdir /Test && cd /Test
② 拉取Django项目
git clone https://gitee.com/xuexianqi/spider-test.git

8.进入项目,安装依赖

项目所需的依赖都在requirements.txt中,用pip3可以一键安装(这里指定pip豆瓣源)
cd spider-test
pip3 install -r requirements.txt -i https://pypi.douban.com/simple/

9.迁移数据

① 由于用的是Sqlite数据库,需要修改一些代码
# 用vim编辑器打开
vim /usr/local/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py

# 显示代码行号(大概在第66行)
:set nu

# 按i进入插入模式,注释掉第66行
i

# 注释完成,保存并退出
Esc
:wq

因为这里的代码会检测sqlite的版本,版本过低就直接报错

所以直接注释掉检测的代码即可

注释前

在这里插入图片描述

注释后

在这里插入图片描述

python3 manage.py makemigrations
python3 manage.py migrate

10.启动项目

python3 manage.py runserver 0.0.0.0:8000

三:访问测试

1.PC端测试

① 先去百度一下当前的IP地址

在这里插入图片描述

② 浏览器访问测试

在这里插入图片描述

2.移动端测试

  • 移动端需要用流量来测试,如果连了无线网,那么结果会和同一局域网的PC端一样
① 查看移动端IP地址

在这里插入图片描述

② 访问Django项目的IP

在这里插入图片描述

③ 服务端监测到的IP

在这里插入图片描述

四:代理测试

1.不试用代理

不使用代理,就是单纯地用本机真实的IP地址去访问

import requests

url = 'http://[公网IP]:[端口号]'    # 这里替换成自己的URL即可

res = requests.get(url)

print(res)
print(res.text)

在这里插入图片描述

在这里插入图片描述

2.使用代理

import requests

proxies = {
    'http': '113.195.152.50:9999',
}

url = 'http://[公网IP]:[端口号]'    # 这里替换成自己的URL即可

res = requests.get(url, proxies=proxies)

print(res)
print(res.text)

文章出处: http://www.xuexianqi.top/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值