今天用python写了一个接口,其中有一个可以用curl执行,鼓捣了一下curl命令,鼓捣一下午~
1.下载curl
下载地址:https://curl.haxx.se/download.html
下载后,直接解压缩,解压后打开自己的解压目录,复制上面的路径,如
设置环境变量:选中我的电脑--> 右击-->属性--> 高级系统设置
新建系统环境变量
变量名:CURL_HOME,变量值:刚才复制的路径,点击确定
然后选择 Path -- > 编辑
选择新建
1.首先添加: %CURL_HOME%I386
2.然后再新建添加: E:mysoftwarecurl-7.68.0-win64-mingwin, 这个路径是你解压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',别人可以访问