开发者

How to run python script on my server?

开发者 https://www.devze.com 2023-02-25 17:55 出处:网络
I have a server hosting by Blueshot. I have been using php to get post variables from iPhone... But now I have to use python to get post variable from iPhone. I wrote something like this

I have a server hosting by Blueshot. I have been using php to get post variables from iPhone... But now I have to use python to get post variable from iPhone. I wrote something like this

import cgi
imp开发者_StackOverflow中文版ort cgitb; cgitb.enable()  # for troubleshooting

print "Content-type: text/html"
print

print """
<html>

<head><title>Sample CGI Script</title></head>

<body>

  <h3> Sample CGI Script </h3>
"""

form = cgi.FieldStorage()
message = form.getvalue("message", "(no message)")

print """

  <p>Previous message: %s</p>

  <p>form

  <form method="post" action="index.cgi">
    <p>message: <input type="text" name="message"/></p>
  </form>

</body>

</html>
""" % message

And uploaded to my server but it doesn't work...If I navigate to the page then it just shows the source code.. I don't know whether or not python is installed on my server (I believe python might be installed as default)..How do I check if python is runnable on my server and if not how can I run python scripts on my server? All I want to do is to get POST variables from iPhone (I know how to send the variables from iPhone) Thanks in advance...


Here's a small checklist of things to check when CGI scripts aren't working:

  • Is it in a cgi-bin (or equivalent) folder?
  • Is it executable?
  • Is it readable?
  • Does it have a hashbang?
  • Is your server set up to process CGI scripts?

Here's a sample CGI script you can use for testing:

#!/usr/bin/env python
import cgi; cgi.test()

Name it test.py, put it somewhere in cgi-bin, and make sure it's executable:

$ chmod a+rx test.py

Some web servers only recognize CGI scripts with certain extensions, so if .py doesn't work, you may want to try .cgi.


This is a webserver configuration problem not a programming issue.

If you're running Apache, this might work:


chmod 755 myscript.py
ln -s myscript.py myscript.cgi

Then put this in your .htaccess file:


AddHandler cgi-script .cgi

If you can't run the ln command because of no shell access, just upload with the .cgi extension to begin with. Or, as icktoofay said, put it in your cgi-bin folder, then you won't need the .htaccess modification either.

0

精彩评论

暂无评论...
验证码 换一张
取 消