Как принимать post запрос от php на python?

Пользователь

от rebekah , в категории: Python , 2 месяца назад

Как принимать post запрос от php на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от steve , месяц назад

@rebekah 

Для принятия POST-запроса от PHP на Python можно использовать стандартную библиотеку Python cgi. Для этого следуйте инструкциям ниже:

  1. Создайте PHP-скрипт, который отправляет POST-запрос на Python-скрипт. Например, можно использовать функцию file_get_contents:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$url = 'http://localhost:8000/python_script.py';
$data = array('param1' => 'value1', 'param2' => 'value2');

$options = array(
  'http' => array(
    'method' => 'POST',
    'header' => 'Content-type: application/x-www-form-urlencoded',
    'content' => http_build_query($data)
  )
);

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);


  1. Создайте Python-скрипт, который будет принимать и обрабатывать POST-запросы от PHP. Сохраните его, например, как python_script.py:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/usr/bin/env python

import sys
import cgi

# Получите данные POST-запроса
form = cgi.FieldStorage()
param1 = form.getvalue('param1')
param2 = form.getvalue('param2')

# Обработайте данные и верните результат
result = 'Результат обработки запроса: {} {}'.format(param1, param2)
print('Content-Type: text/plain;charset=utf-8')
print()
print(result)


  1. Запустите локальный веб-сервер Python, который будет принимать POST-запросы на порту 8000. Для этого откройте терминал или командную строку и выполните команду:
1
python -m http.server 8000


  1. Запустите PHP-скрипт и проверьте, что результат обработки POST-запроса от Python выводится в PHP-скрипт.


Это простой пример, но в реальных проектах рекомендуется использовать библиотеки, такие как Flask или Django, для более удобной обработки HTTP-запросов.