我创建了以下功能,效果很好:
def executeMethod(inJson):
global FunctionCalls
global Logger
FunctionCalls.append("executeMethod")
print(inJson)
print("")
url = API_URL
headers = {"Content-Type":"application/json"}
data = json.dumps(inJson)
print (data)
print("")
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req).read()
print (json.loads(response))
try:
return json.loads(response)["serviceId"]
except:
return -1
现在我知道它可以工作了,我正在尝试将此代码合并到一个类中:
def executeMethod(self):
self.FunctionCalls.append("executeMethod")
print(self.jsonBody)
print("")
url = self.API_URL
headers = {"Content-Type":"application/json"}
data = json.dumps(self.jsonBody)
print (data)
print("")
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req).read()
print (json.loads(response))
try:
return json.loads(response)["serviceId"]
except:
return -1
但是当我尝试使用此类函数时,出现以下错误:
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError
没有HTTP错误代码或其他任何内容。我已经多次比较了代码,甚至从工作位置的函数中重新创建了类函数。我不知道还能尝试什么。
答案 0 :(得分:0)
更新,似乎请求主体是问题,而不是代码。当我传递服务器期望的JSON时运行正常。