gpt4 book ai didi

python - flask : understanding POST method to transmit data

转载 作者:可可西里 更新时间:2023-11-01 16:44:15 24 4
gpt4 key购买 nike

我的问题比较难描述,所以我会着重说明情况。所以假设我有 2 个不同的实体,它们可能在不同的机器上运行。我们将第一个称为Manager,将第二个称为Generator。管理器是唯一可以通过用户调用的。

管理器有一个名为getVM(scenario_Id)的方法,它将场景的ID作为参数,并从数据库中检索与作为参数给定的ID对应的BLOB。这个 BLOB 实际上是我需要发送给生成器的 XML 结构。两者都有一个 Flask 运行。

在另一台机器上,我的生成器带有 generateVM() 方法,它将根据接收到的 XML 结构创建一个 VM。我们不会讨论如何从 XML 创建 VM。

目前我做了这个:

经理

# This method will be called by the user
@app.route("/getVM/<int:scId>", methods=['GET'])
def getVM(scId):
xmlContent = db.getXML(scId) # So here is what I want to send
generatorAddr = sgAdd + "/generateVM" # sgAdd is declared in the Initialize() [IP of the Generator]

# Here how should I put my data ?
# How can I transmit xmlContent ?

testReturn = urlopen(generatorAddr).read()
return json.dumps(testReturn)

生成器

# This method will be called by the user
@app.route("/generateVM", methods=['POST'])
def generateVM():
# Retrieve the XML content...
return "Whatever"

所以正如你所看到的,我被困在如何传输数据本身(XML 结构),然后如何处理它......所以如果你有任何关于我应该如何处理的策略,提示,提示,线索继续,请随时回答。可能有些地方我对 Flask 不太了解,所以请随时纠正我说的所有错误。

致以最诚挚的问候和感谢

PS:带有路由的行被注释了,因为它们弄乱了语法着色

最佳答案

除非我遗漏了一些东西,否则你不能在帖子请求的正文中传输它吗?您的 generateVM 方法不是这样设置的吗?

@app.route("/getVM/<int:scId>", methods=['GET']) 
def getVM(scId):
xmlContent = db.getXML(scId)
generatorAddr = sgAdd + "/generateVM"

xml_str = some_method_to_generate_xml()
data_str = urllib.urlencode({'xml': xml_str})
urllib.urlopen(generatorAddr, data=data_str).read()
return json.dumps(testReturn)

http://docs.python.org/2/library/urllib.html#urllib.urlopen

关于python - flask : understanding POST method to transmit data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13381959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com