Отправка данных на php-сервер из Python

#python #php #sql

#python #php #sql

Вопрос:

У меня есть php-скрипт на стороне сервера, который собирает данные и вставляет их в базу данных MySQL ;

 $sql = "INSERT INTO tbl_marks (value) VALUES ('".$_GET["value"]."')";
  

Я могу добавлять значения из браузера без проблем как таковых ;

 http://localhost/write.php?value=100
  

Но я не могу отправлять сообщения из Python с помощью запросов ;

 r = requests.post('https://localhost/write.php?', data = {'value':'100'})
  

Ошибок или предупреждений нет, но я вижу, что в таблицу из Python не записываются записи. Что я делаю не так?

Комментарии:

1. print(r.status_code) проверьте, прошло ли ваше сообщение POST успешно?

2. Вы отладили свой объект POST, чтобы увидеть, каков результат?

3. вы используете https в своем коде python. это была опечатка.

4. status_code возвращает «200». Да, разница между http и https была опечаткой, извините

5. Я искал и перепробовал все методы, такие как имитация браузера с заголовком, но проблема все еще остается. Кто-нибудь сталкивался с подобным поведением? В ответ Python: > Для работы этого сайта требуется Javascript, пожалуйста, включите Javascript в вашем браузере или используйте браузер с поддержкой Javascript. Как я могу решить эту проблему?

Ответ №1:

Отправленный вами PHP просматривает значения GET (кстати, непосредственно от пользователя. Посмотрите на атаки с использованием SQL-инъекций), но ваш python выполняет запрос POST. Попробуйте это вместо:

 r = requests.get('http://localhost/write.php', params={'value': '100'})