generated from dellevin/template
222
This commit is contained in:
70
base64-de-in-code/api.py
Normal file
70
base64-de-in-code/api.py
Normal file
@@ -0,0 +1,70 @@
|
||||
from flask import Flask, render_template, request, jsonify
|
||||
import base64
|
||||
import proj_utils.utils as utils # 导入你的工具模块
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
"""渲染主页模板"""
|
||||
return render_template('index.html')
|
||||
|
||||
@app.route('/en-de-code')
|
||||
def index():
|
||||
"""渲染主页模板"""
|
||||
return render_template('en-de-code-index.html')
|
||||
|
||||
@app.route('/decode', methods=['POST'])
|
||||
def decode_endpoint():
|
||||
"""处理解码请求的 API 端点"""
|
||||
data = request.get_json()
|
||||
base64_input = data.get('input_text', '').strip()
|
||||
|
||||
if not base64_input:
|
||||
return jsonify({'success': False, 'error': '输入不能为空。'})
|
||||
|
||||
try:
|
||||
# 1. Base64 解码
|
||||
decoded_bytes = base64.b64decode(base64_input)
|
||||
except Exception as e:
|
||||
return jsonify({'success': False, 'error': f'Base64 解码失败: {str(e)}'})
|
||||
|
||||
# 2. 使用 utils 模块中的 detect_and_decode 函数进行编码检测和解码
|
||||
decoded_result = utils.detect_and_decode(decoded_bytes)
|
||||
# 返回成功的 JSON 响应
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'result': decoded_result,
|
||||
})
|
||||
|
||||
@app.route('/encode', methods=['POST'])
|
||||
def encode_endpoint():
|
||||
"""处理编码请求的 API 端点"""
|
||||
data = request.get_json()
|
||||
text_to_encode = data.get('text_to_encode', '')
|
||||
encoding = data.get('encoding', 'utf-8') # 默认使用 UTF-8
|
||||
|
||||
if text_to_encode is None:
|
||||
return jsonify({'success': False, 'error': '输入不能为空。'})
|
||||
|
||||
try:
|
||||
# 1. 根据指定编码格式将文本转换为字节数组
|
||||
encoded_bytes = text_to_encode.encode(encoding)
|
||||
except LookupError:
|
||||
return jsonify({'success': False, 'error': f'未知的编码格式: {encoding}'})
|
||||
except UnicodeEncodeError as e:
|
||||
return jsonify({'success': False, 'error': f'编码失败: {str(e)}'})
|
||||
|
||||
# 2. 将字节数组进行 Base64 编码
|
||||
encoded_string = base64.b64encode(encoded_bytes).decode('ascii')
|
||||
|
||||
# 返回成功的 JSON 响应
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'result': encoded_string
|
||||
})
|
||||
# pip install pipreqs
|
||||
# pipreqs D:\UserData\Desktop\demo\python_script\base64-de-in-code
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True, host='0.0.0.0', port=5000)
|
||||
Reference in New Issue
Block a user