# ************ CVE Search Proxy ************
@router.route('/cve-search/{path:path}', methods=['OPTIONS', 'HEAD', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'])
async def proxy_cve_search_api(req: Request) -> Response:
"""代理CVE Search API接口
具体CVE Search接口文档可访问docker-compose 启动的cve-search实例,通过对应的接口进行访问
如:接口文档地址: https://127.0.0.1[:expose_port]/api_docs
"""
path = req.path_params.get('path')
query = str(req.query_params)
headers = req.headers
method = req.method
# Get request body
try:
body = await req.body()
except Exception as e:
return Response(status_code=400, content=f'get request body info error: {e}')
q = '?' + query if query else ''
cve_search_url = settings.CVE_SEARCH_API_URL + '/' + path + q
# print(cve_search_url)
# Proxy Request
async with aiohttp.ClientSession() as session:
async with session.request(
method, cve_search_url, data=body, headers=headers, ssl=settings.CVE_SEARCH_PROXY_SSL_VERIFY
) as resp:
# print('proxy response status:', resp.status, resp.content)
content = await resp.content.read()
return Response(content=content, status_code=resp.status, headers=dict(resp.headers))
FastAPI 反向代理示例
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:git带用户秘密clone
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Nginx 配置反向代理去除前缀
Nginx 配置反向代理去除前缀
Nginx 服务器 反向代理 -
反向代理为何叫反向代理?
上面的答案都说的很好,我画了张图能更直观地解释为何反向代理叫“反向“代理正向代.
java 服务器 开发语言 反向代理 正向代理