今天用python写了一个接口,其中有一个可以用curl执行,鼓捣了一下curl命令,鼓捣一下午~
1.下载curl
下载地址:https://curl.haxx.se/download.html

下载后,直接解压缩,解压后打开自己的解压目录,复制上面的路径,如

设置环境变量:选中我的电脑--> 右击-->属性--> 高级系统设置

新建系统环境变量
变量名:CURL_HOME,变量值:刚才复制的路径,点击确定
然后选择 Path -- > 编辑
选择新建
1.首先添加: %CURL_HOME%\I386
2.然后再新建添加: E:\mysoftware\curl-7.68.0-win64-mingw\bin, 这个路径是你解压curl的地址打开后找到里面的bin目录的地址
配置完成后,确定退出。
打开cmd,输入curl --help

打开idea,启动項目,打开你的terminal然后输入请求地址回车即可。
1.get请求
curl http://127.0.0。1:5001/index
2.post请求
curl -d "date=2018-12-28&course_id=123456&chapter_id=99999" http://127.0.0.1:5001/reg
其他电脑输入
curl -d "date=2018-12-28&course_id=123456&chapter_id=99999" http://192.168.5.175:5001/reg


使用python代碼:
1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 import subprocess
4 import flask,json
5
6 '''
7 CREATE TABLE IF NOT EXISTS `my_user`(
8 `auto_id` INT UNSIGNED AUTO_INCREMENT,
9 `username` VARCHAR(50) NOT NULL,
10 `passwd` VARCHAR(40) NOT NULL,
11 `is_admin` INT,
12 PRIMARY KEY ( `auto_id` )
13 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
14 '''
15 #__name__代表当前的python文件,把当前这个python文件,当成一个服务
16 server=flask.Flask(__name__)
17 def excute_command(username,pwd):
18 if username=='yyz':
19 return "excute_command username=yyz pwd=%s" % pwd
20 else:
21 return "excute_command username=%s pwd=%s" % (username,pwd)
22
23 def my_db(sql):
24 import pymysql
25 coon = pymysql.connect(host='127.0.0.1',user='root',passwd='y44444444',port=3306,db='test_db',charset='utf8')
26 cur = coon.cursor()
27 cur.execute(sql)
28 if sql.strip()[:6].upper() == 'SELECT': #判断sql语句是否select开头
29 res = cur.fetchall() #获取到sql语句所有的返回结果
30 else:
31 coon.commit()
32 res = 'ok'
33 cur.close()
34 coon.close()
35 return res
36
37 @server.route('/index',methods=['get']) #装饰器 ip:5000/index?xxx
38 def index():
39 res={'msg':'这个是我开发的第一个接口','msg_code':0} #这个是字典,接口返回的是json,所以需要引入json,并且返回进行json.dumps
40 return json.dumps(res,ensure_ascii=False) #返回结果是unicode,需要增加ensure_ascii=False
41
42 #带参数post方法,请求时地址后加上?date=2018-12-28&course_id=123456&chapter_id=99999
43 @server.route('/reg',methods=['post'])
44 def reg():
45 try:
46 #传入参数
47 date = flask.request.values.get('date')
48 print("date-date",date)
49 course_id = int(flask.request.values.get('course_id'))
50 chapter_id = int(flask.request.values.get('chapter_id'))
51 #subprocess.Popen("bash ./main.sh '" + str(date) + "'", shell=True)
52 res = {'msg': str(date) + '执行shell成功!', 'msg_code': 0}
53 except:
54 res = {'msg':'参数非法,请检查接口文档!','msg_code':1001}
55
56 return json.dumps(res,ensure_ascii=False)
57
58 if __name__ == '__main__':
59 server.run(port=5001,debug=True, host='0.0.0.0')
60 #端口号要是不指定,默认为5000.debug=True,改了代码之后不用重启,会自动重启一次。后面增加host='0.0.0.0',别人可以访问
来源:https://www.cnblogs.com/lisa2016/p/12193494.html