1.背景
项目上暴露的翻译接口支持异步调用,调用参数中可以根据填写的回调地址完成请求实际响应数据的发送。异步翻译调用接口简单易懂。但是测试接口实际功能时,就需要模拟一个http客户端用来接收异步返回的响应数据,用以验证接口功能的完整性。
2.异步请求接口
异步请求接口,功能表现为发送请求后会先返回一个请求状态的响应数据,一般表示服务端已经接受请求,请求成功。请求参数中会带有回调地址,待请求服务端完成请求处理后会根据回调地址,发送响应数据(发送响应的服务端可理解为客户端)
body = {
"id":time.time(), ###任务id,string
"itsType":type, ###翻译方向
"itsText":txt, ###翻译原始内容
"callbackUrl":callback ###翻译请求回调地址
}
3.模拟http服务端 响应请求
# -*-coding:u8-*-
import time
import json
import socket
import threading
encoding = 'utf-8'
BUFSIZE = 102400
###接收回调内容 并进行解析和响应
def handle_client(client):
data = client.recv(BUFSIZE)
callback_data = ''
string = bytes.decode(data, encoding)