HostGator:使用 cgi python 脚本从服务器发送 JSON 数据

HostGator: Sent JSON data from Server using cgi python script

我正在尝试实现一些脚本,根据不同的客户端请求在客户端上传送 json 数据。 到目前为止,我可以使用 python 脚本传送 html 数据。例如,这个脚本工作得很好:

#!/usr/bin/env python3

print("Content-Type: text/html\n\n")  # html markup follows
print("""
<html>
  <Title>Hello in HTML</Title>
<body>
  <p>Hello There!</p>
  <p><b>Hi There!</b></p>  
</body>
</html> """)

现在我想测试一个 python 脚本,它提供 json 数据:

#!/usr/bin/env python3

import sys, json

jsonData = {"success": "true"})

print('Content-Type: application/json\n\n')
print (json.dumps(jsonData))

我已将正确的权限设置为 755,但我仍然收到错误 500 的响应。

我的本地主机中的相同示例运行良好。此外,如果我使用 ssh 连接到服务器并执行 python 脚本,它会工作并且我得到这个 outpot:

Content-Type: application/json


{"success": "true"}

据我了解,跨源存在一些问题,但我没有理解正确,怎么会激活这样的东西。

您需要在 CGI 中提供状态码和内容长度

尝试:

#!/usr/bin/env python3

import sys, json

jsonData = {"success": "true"})
jsonData = json.dumps(jsonData)
print "Status: 200 OK"
print "Content-Type: application/json"
print "Length:", len(jsonData)
print jsonData