【发布时间】:2019-07-03 09:33:28
【问题描述】:
我在 localhost(http://127.0.0.1:5000/) 上运行我的项目,并且在我的客户端服务器上会有所不同。所以我尝试尝试动态获取 URL 地址但无济于事。
我试过:request.host_url,如 thread 所示。但是,它返回了
RuntimeError: working outside of request context
我在这里尝试运行需要完整 URL 作为参数 post() 的 python unittest,这就是我需要动态 url 的原因。
import json, requests
from flask import request
from .base import *
class TestProvince(BaseTest):
# Test Data
ID = '41'
DESCRIPTION = 'Province Test'
LOCAL_DESCRIPTION = 'Province local Description'
def test_add_record(self):
print "Adding a new record"
url = "http://127.0.0.1:5000/Project/API/Province/" # <-- Here I want it to be dynamic url
payload = {
"Status":"AUTH",
"Curr":"0",
"Inputter":"System",
"Createdon":"2019-05-03",
"Authorizer":"System",
"Authorizeon":"2019-05-03",
"Branch":"HO",
"ID":self.ID,
"Description":self.DESCRIPTION,
"LocalDescription":self.LOCAL_DESCRIPTION
}
headers = {
'Content-Type': "application/json",
'Accept': "application/json"
}
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
if __name__ == "__main__":
unittest.main()
关于如何在 python 中正确获取当前 URL 地址的任何提示?谢谢
【问题讨论】:
-
你能告诉我们你正在使用的代码部分吗
-
@Shadowfax,我已经为您编辑了添加代码 sn-p 的问题。只是我认为这不是代码错误,这就是我没有发布长 sn-p 的原因。请帮助。谢谢