Возврат вывода скрипта Python CGI MySQL

Я очень новичок в Python и MySQL, и это мой первый вопрос с Stack. Итак, извиняйтесь заранее, если я пропущу что-то очевидное. Но я действительно пытался исследовать это, прежде чем спрашивать.

Я пытаюсь изучить основы скриптов Python, MySQL и CGI. С этой целью я читал учебники по адресу http://www.tutorialspoint.com/python/python_cgi_programming.htm и http://www.tutorialspoint.com/python/python_database_access.htm , среди прочих.

  • Как разместить скрипт cgi python с помощью `python -m SimpleHTTPServer 8000` или` python -m CGIHTTPServer 8000`?
  • Python Subprocess Popen Stalling Страница CGI
  • Предоставление пользователям возможности загрузки сценариев Python для выполнения
  • Как запустить CGI «hello world» с помощью python http.server
  • Различия и использование между WSGI, CGI, FastCGI и mod_python в отношении Python?
  • Python3 CGI HTTPS-сервер выходит из строя в Unix
  • Я пытаюсь получить запросы CURL GET или Python. GET вызовет скрипт CGI Python на тестовом сервере. Этот скрипт CGI Python затем выполнит действие Read в локальной базе данных MySQL и вернет результаты в CURL или Python Requests.

    Созданный мной CGI-скрипт Python отлично выводит данные MySQL Read на терминал на удаленном тестовом сервере. Но он не вернет этот вывод в CURL или запросы Python, которые вызвали сценарий CGI.

    Это сценарий CGI Python, который я объединил:

    #!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to INSERT a record into the database. sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000) try: # Execute the SQL command cursor.execute(sql) # Fetch all the rows in a list of lists. results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # Now print fetched result print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income ) except: print "Error: unable to fetch data" # disconnect from server db.close() 

    Я предполагаю , что мне нужно каким-то образом передать данные из SQL-запроса обратно на Python или вернуться к процессу запроса через какой-то оператор Return или Output. Но все мои усилия по исследованию этого не помогли. Может кто-то указать мне верное направление? Большое спасибо за любую помощь!

    Марк 🙂

  • Как фильтровать (или заменять) символы Unicode, которые занимают более 3 байтов в UTF-8?
  • Проблемы с установкой mysql-python (на mac os x lion)
  • Как запустить CGI «hello world» с помощью python http.server
  • Python, MySQL и курсоры, которые извлекают карты
  • SSH-туннель для соединения с Python MySQLdb
  • Вывести текущий запрос MySQLdb?
  • One Solution collect form web for “Возврат вывода скрипта Python CGI MySQL”

    Во-первых, в соответствии с учебным пособием CGI, которое вы связываете, вам нужно указать тип контента, с которым вы работаете:

     print "Content-type: text/plain\r\n\r\n", 

    Если у вас, по крайней мере, нет новых линий, клиенты HTTP считают, что ваш контент должен быть частью заголовков и запутаться, они, вероятно, предполагают, что запрошенный вами документ пуст.

    Затем вам понадобится сервер CGI. Python поставляется с одним. Поместите свой скрипт в подкаталог cgi-bin и запустите эту команду (из родительского каталога):

     python -m CGIHTTPServer 

    URL-адрес будет выглядеть примерно так:

     curl http://localhost:8000/cgi-bin/cgitest.py 
    Python - лучший язык программирования в мире.