基于web的⽹页问卷调查设计_Python3菜鸟教程⼁基于Web模
块的轻量级接⼝设计基础...
看着互联⽹上各种各样的API接⼝⼗分欢喜,奈何因为收费望⽽却步,于是笔者在经过⽹上信息检索后,选择了最简单的Python3 Web.py 库作为菜鸟⼊门学习教程,并实现⼀些⼩功能,希望对萌新⼩⽩们有所帮助!
注:i 春秋旨在为⼤家提供更多的学习⽅法与技能技巧,⽂章仅供学习参考。
开发环境:
系统:安卓10
⼯具:Termux
编辑器:vim
语⾔:Python3
上传⽅法:ftp协议
调试环境:
系统:Windows2008(阿⾥云)
环境:Python3.7.6 + Web.py
说明:建议要使⽤最适合⾃⼰的开发环境,在win环境可以选择VS Code等编辑器来开发。
如何安装运营环境
服务器端安装⽰例(Windows 2008)
linux进程命令
Python3环境的安装:
python入门教程非常详细word对于Python3的安装,你只需要到官⽹下载适合你的安装包安装即可!
如果你下载的是ZIP包,请⾃⼰配置好环境变量,如果你是下载的可视化安装程序,请记得勾选添加环境变量选项!
Web.py 库的安装:
在开始安装之前,请记得在PowerShell⾥执⾏下⾯的命令,我们需要先升级pip,升级命令是这样:
pip install --upgrade pip
在升级完成后,便可以开始安装我们需要的Web库了。
pip install web.py
echarts双y轴0刻度一致如何编写
如同众多编程语⾔⼀般,我们先来写个HelloWord:
⽂件名:sever.py
#-*- coding:utf-8 -*-import web #导⼊web库#URL控制urls = ( #访问index的时候,执⾏index⽅法 '/index(.*)', 'index',)#index⽅法class index: def GET(self, text 接着我们在指定端⼝执⾏这个脚本:
python sever.py 80
此时,我们访问:127.0.0.1:80,应该在浏览器中能看到这样的内容:
hello word!
这就满⾜了吗?
不,最起码,得有个漂亮的样式,经过简单的搜索,发现Web.py提供的⽅法太⿇烦了,于是,我们可以这样:
请注意,此刻我们不需要去暂停控制台,可以直接去修改代码后刷新浏览器就好了!
先在跟Sever.py同⼀⽬录下创建index.html,这个html⾥的⽂件⾃⼰想写啥就写啥,然后我们修改代码:
#index⽅法class index: def GET(self, text): index = open("./index.html", 'r',encoding="utf-8") index = ad() return index
接着再来刷新浏览器,就会发现界⾯变成了你想要的样⼦,这说明html⽂件⾥的标签被渲染了。
如何开发API
有这样⼀道题:给定这样⼏个字母:a,e,t,请组成单词。
笔者的代码:
import sysfrom itertools import permutationsdef exhaustive_combination_def(exhaustive_combination): b = "" arr = exhaustive_combination.split(",")
执⾏后,我收获了结果:
aet,ate,eat,eta,tae,tea,
放到百度翻译,⼈⽣圆满了。
为了维护⽅便,我们API是⼀个py⽂件,sever是⼀个⽂件,这样最好。
api.py
#-*- coding:utf-8 -*-import sysfrom itertools import permutationsdef exhaustive_combination_def(exhaustive_combination): b = "" dzarr = exhaustive_co sever.py
#-*- coding:utf-8 -*-import web #导⼊web库#从⽂件api.py中引⽤⾃定义函数:exhaustive_combination_deffrom api import exhaustive_combination_def#URL控制u 访问地址:
127.0.0.1/api_one/a,e,t
成功在浏览器返回:
aet,ate,eat,eta,tae,tea,
结构体的类型有几种这样⼀个简单的API就写好了。
这个时候,我们可以完全通过python写⼀个⾃⼰想要的API。
⽐如,我们来写⼀个返回Ping命令结果的:
ping.py
# -*- coding: utf-8 -*-import subprocess import redef ping_url(url): ping = subprocess.Popen(["ping.
exe", url], stdin = subprocess.PIPE, stdout = su sever.py
#-*- coding:utf-8 -*-import web #导⼊web库#从⽂件api.py中引⽤⾃定义函数:exhaustive_combination_deffrom api import exhaustive_combination_def#从⽂件ping
" b = ping_url(text) c = "
" a = a + b + c return a#exhaustive_combination⽅法class exhaustive_combination: #text接收的是get请求内容 def GET(self, text): #变量 a 接收传访问:
127.0.0.1/ping_api/h
成功返回内容:
正在 [150.109.19.98] 具有 32 字节的数据:来⾃ 150.109.19.98 的回复: 字节=32 时间=949ms TTL=47来⾃ 150.109.19.98 的回复: 字节
扩展设想
在编写⼯具时,我们很多时候⽤到的语⾔都是Python,然⽽我们编写的⼀些图形化⼯具随着不断的流传,很容易流传到不法分⼦⼿中,我
们完全可以通过这种API式的去开发⼯具。
当⼯具流窜出去,我们要阻⽌不法分⼦的时候,可以直接在服务器端ban了他的ip ,直接导致你的⼯具在他⼿中⽆法使⽤,或者直接改变接
⼝参数,导致不法分⼦的⼯具失效,当然为了安全性可以加上⼀个基于接⼝的验证⽅案,来验证⼯具的使⽤者。
mousemove事件button拿thinkphp5来做⼀个例⼦:
样例⾃定义函数:
#-*- coding:utf-8 -*-import requestsimport re#命令执⾏def thinkphp5_api(url): poc = "?s=/index/hinkapp/invokefunction&function=call_user_func_array&vars[0]=s 实际效果:
这种⽅法笔者认为⾮常便于控制⼯具的流通,你只需要通过指定你允许的IP可以访问到服务器API,就可以将⼯具放⼼的传给团队内的其他
使⽤者!
如果本⽂激发了你对API开发的想法,不妨去试⼀试,对于Windows图形界⾯程序的开发,多种多样,你可以选择C#的WPF或者易语⾔,
dialogue动词形式
这两者对于图形界⾯的开发基本都是直接绘制,上⼿速度更加快速!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论