如何制作公司网站(Python)

企业内部您是否遇到过IP无法定位和查询的情况,而网络和运维的部分平台不便开放给其他用户。所以本次搭建简单的IP查询网站给普通用户使用环境:
1.mongodb(可使用其他数据库),数据库安装可自行查询其他网站
2.streamlit
实现简单网站查询IP地址归属,简单方便。streamlit安装踩坑_在下菜鸡的博客-CSDN博客_streamlit安装代码如下:#coding:utf-8
import streamlit as st
import pymongo

@st.cache # 开启缓存,如果不缓存,每次刷新都要请求,缓存可以减少搜索时间
def mongodb():
# build connection
conn = pymongo.MongoClient('192.168.100.100', 27017)
# connect dataBase
mydb = conn.cmdb_data
# get collection
myCollect = mydb.cmdb_dns_list
# myCollect.insert_one(data_dict)
# print(myCollect)
return myCollect

db = mongodb()
# a = db.find() # 查询所有的数据库,无法直接查看,使用for循环可以打印出来
# a = db.find_one({"IP":"192.168.1.1"}) # 查询单条数据
# print(a)
# for i in a:
# print(i)

st.header("IP地址查询")
title = st.text_input('请输入IP', '192.168.1.1')
st.write('输入的内容为', db.find_one({"IP":title}))

# df = a
# st.dataframe(df)展示结果:代码过于简单,可能存在注入等漏洞情况(虽然已经限制只查询IP),建议生产环境需要对输入的内容进行限制。避免出现被提权的情况,那就得不偿失啦问题:安装streamlit 可能会遇到下列错误解决方案:1、升级setuptools
pip3 install –upgrade setuptools
2、升级pip工具
pip3 install –upgrade pip再安装streamlit 已经成功内网搭建公网IP查询页面代码如下:#coding:utf-8

import streamlit as st
import requests

@st.cache
def ip(ipaddress):
url = "http://ip-api.com/json/{ip}?lang=zh-CN".format(ip=ipaddress)
res = requests.get(url).json()
# return res
if res["status"] == "success":
return {"状态": "成功" if res["status"] in "success" else "失败","国家": res["country"],"国家代码": res["countryCode"],"区域": res["region"],"省份": res["regionName"],"城市": res["city"],"邮政编码": res["zip"],"经度": res["lat"],"纬度": res["lon"],"时区": res["timezone"],"运营商": res["isp"],"企业或组织":res["org"],"AS": res["as"],"查询IP": res["query"]}
else:
return ["输入错误,请输入公网IP地址"]
st.header("IP地址查询")

title = st.text_input('请输入IP', '1.1.1.1')
# st.write('输入的内容为', db.find_one({"IP":title}))
st.write('输入的内容为', ip(title))页面展示


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/42529/