파이썬 인터페이스를 작성하는 방법
1. 플라스크
flask는 Python으로 작성된 경량 프레임워크로 웹 사이트나 웹 서비스를 구현하는 데 사용할 수 있습니다. 이 기사에서는 플라스크를 사용하여 인터페이스를 개발합니다.
flask를 먼저 설치한 후 참조해야 합니다. pip installFlask
Flask로 인터페이스를 개발하는 과정은 다음과 같습니다.
1. 서버를 정의합니다
server=flask.Flask(__name__) #__name__代表当前的python文件。把当前的python文件当做一个服务启动
2. 그런 다음 인터페이스 함수를 정의합니다. 인터페이스 함수와 인터페이스로 정의된 함수는 다음과 같습니다. 위에 추가됨:
@server.route('/index',methods=['get','post']) #第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get @server.route('/index',methods=['get','post'])#第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get def index(): res={'msg':'这是我开发的第一个借口','msg_code':0} return json.dumps(res,ensure_ascii=False)
3. 서버를 실행합니다.
server.run(port=7777,debug=True,host='0.0.0.0') #port可自定义填写。不要与机器上已占用的port冲突。 #debug=True,在代码进行修改后,程序会自动重新加载,不用再次运行。也就是运行一次即可,即使改动代码,也不需要重启服务 #host本地ip地址,写0.0.0.0,可以让其他人直接访问本机的ip。 #最终这个接口的访问地址就是 http://127.0.0.1/index ,get方法或者post方法都可。返回数据是json格式res内容
예:
import flask,json server=flask.Flask(__name__)#__name__代表当前的python文件。把当前的python文件当做一个服务启动 @server.route('/index',methods=['get','post'])#第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get def index(): res={'msg':'这是我开发的第一个借口','msg_code':0} return json.dumps(res,ensure_ascii=False) server.run(port=7777,debug=True,host='0.0.0.0')
인터페이스 액세스 중에 매개변수를 입력해야 하는 경우가 많습니다. 그런 다음 들어오는 매개 변수를 수락하려면 다음 방법을 사용할 수 있습니다.
username=flask.request.values.get('username')
예:
import flask,json server=flask.Flask(__name__)#__name__代表当前的python文件。把当前的python文件当做一个服务启动 @server.route('/reg',methods=['post'])#只有在函数前加上@server.route (),这个函数才是个接口,不是一般的函数 def reg(): username=flask.request.values.get('username') passwd=flask.request.values.get('passwd') if username and passwd: sql='select * from my_user where username="%s";'%username print(sql) if my_db(sql): res={'msg':'用户已存在','msg_code':2001} else: insert_sql='insert into my_user (username,passwd,is_admin) values ("%s","%s",0);'%(username,passwd) my_db(insert_sql) res={'msg':'注册成功','msg_code':0} else: res={'msg':'必填字段未填,请查看接口文档','msg_code':1001} #1001表示必填接口未填 return json.dumps(res,ensure_ascii=False) server.run(port=7777,debug=True,host='0.0.0.0') #端口不写默认是5000.debug=True表示改了代码后不用重启,会自动帮你重启.host写0.0.0.0,别人就可以通过ip访问接口。否则就是127.0.0.1
2. 쿠키 작업 처리
로그인 인터페이스를 만들 때 로컬에 쿠키를 추가한다고 가정합니다. , 인터페이스로 돌아가야 합니다. json 문자열에 대해 다음 작업을 수행합니다.
res = flask.make_response(json_res) #json_res是接口返回数据。然后对json_res在做操作,构造成返回结果的对象 res.set_cookie(key,session_id,3600) #最后的数字是cookie的失效时间。这样设置以后,在执行登录接口成功登录,则会同时在本地加入cookie。其中key和session_id的值根据实际情况定义
예:
@server.route('/login',methods=['get']) def login(): username = flask.request.values.get('username') pwd = flask.request.values.get('pwd') if username == 'zy' and pwd=='123456': session_id = tools.my_md5(username+time.strftime('%Y%m%d%H%M%S')) key = 'txz_session:%s'%username tools.op_redis(key,session_id,600) res = {'session_id':session_id,'error_code':0,'msg':'登录成功', 'login_time':time.strftime('%Y%m%d%H%M%S') } #给用户返回的信息 json_res = json.dumps(res,ensure_ascii=False)#返回结果弄成json res = flask.make_response(json_res) #构造成返回结果的对象 res.set_cookie(key,session_id,3600) #最后的数字是cookie的失效时间。 return res
위 작업을 통해 쿠키를 로컬에 성공적으로 저장할 수 있습니다. 나중에 인터페이스에서 쿠키를 사용해야 하는 경우 다음 정보만 얻으면 됩니다.
cookies = 플라스크.request.cookies #모든 쿠키는 사전입니다. 그러면 사전을 통해 해당 쿠키를 얻어서 작업을 수행할 수 있습니다.
예: 예를 들어 일부 작업을 수행하려면 로그인이 필요합니다. 이때 로컬로 로그인할 때 쿠키에 포함된 내용과 서버에 있는 내용을 직접 비교할 수 있습니다. Login
@server.route('/posts') def posts(): cookies = flask.request.cookies #所有的cokies username = '' # session = ''#定义这两个变量是为了,在没有传cookie的时候用的。 for key,value in cookies.items(): if key.startswith('txz_session'): #判断cookie以txz_session开头的话,取到它 username = key session = value #调用接口的时候用户传过的seesion,从cookie里面取过来的 redis_session = tools.op_redis(username) #从redis里面获取到的的cookie if redis_session == session: #判断传过来的seeion和redis里面的session一样 title = f
관련 추천: "Python Tutorial"
위 내용은 파이썬 인터페이스를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

Linux 터미널에서 Python 사용 ...

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.
