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
我正在尝试实现一些脚本,根据不同的客户端请求在客户端上传送 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