Возврат вывода скрипта 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 , среди прочих.

Я пытаюсь получить запросы 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. Но все мои усилия по исследованию этого не помогли. Может кто-то указать мне верное направление? Большое спасибо за любую помощь!

Марк 🙂

  • Форматирование строки запроса Python SQL
  • Согласованность в postgresql с блокировкой и выбор для обновления
  • Сервер Python и sql
  • Как создать большую базу данных pandas из SQL-запроса без исчерпания памяти?
  • Хранить данные SQLite 3 как переменную в Python
  • Фильтрация Sparksql (выбор с предложением where) с несколькими условиями
  • Получение данных из SQL с помощью pyodbc
  • Поддерживает ли pyodbc любую форму именованных параметров?
  • 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 - лучший язык программирования в мире.