我正在尝试使用Python模块在3D DCC(Houdini(中运行内部Web服务器。文档:https://www.sidefx.com/docs/houdini/hwebserver/index.html
文档中提供了一个示例,用于设置服务器,以便在发送获取请求时进行一些基本的图像处理(https://www.sidefx.com/docs/houdini/hwebserver/Request.html):
import tempfile
import hwebserver
import hou
@hwebserver.urlHandler("/blur_image")
def blur_image(request):
if request.method() == "GET":
return hwebserver.Response('''
<p>Upload an image</p>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="image_file">
<input type="submit">
</form>
''')
if request.method() != "POST":
return hwebserver.notFoundResponse(request)
image_file = request.files().get("image_file")
if image_file is None:
return hwebserver.errorResponse(request, "No image was posted", 422)
image_file.saveToDisk()
# Use a COP network to load the image, blur it, and write it to a
# temporary output file.
copnet = hou.node("/img").createNode("img")
file_cop = copnet.createNode("file")
file_cop.parm("filename1").set(image_file.temporaryFilePath())
blur_cop = copnet.createNode("blur")
blur_cop.setFirstInput(file_cop)
blur_cop.parm("blursize").set(10)
rop = copnet.createNode("rop_comp")
rop.setFirstInput(blur_cop)
rop.parmTuple("f").set((1, 1, 1))
temp_output_file = tempfile.mkstemp(".jpg")[1]
rop.parm("copoutput").set(temp_output_file)
rop.render()
copnet.destroy()
return hwebserver.fileResponse(temp_output_file, delete_file=True)
hwebserver.run(8008, True)
我想在Houdini上运行服务器的同一台机器上进行本地测试
使用python发送get请求的正确方式是什么?
我当前的代码是:
import requests
resp = requests.get("http://127.0.0.1:8008")
我在跑步http://127.0.0.1:8008在浏览器中检查响应。但似乎什么都没发生。。我在这里错过了什么?
谢谢你的建议。
我现在已经开始工作了,我没有考虑中的路径
@hwebserver.urlHandler("/blur_image")