#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'})