今天用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\',别人可以访问