将用户输入从 python 发送到 php
Sending User input from python to php
这是我的 python 文件:
host = socket.gethostname()
mac = hex(uuid.getnode())
sign = host + mac
message = input('plz enter message')
userdata = { message, sign}
url = "http://localhost:8081/project/server.php"
resp = requests.post(url, data=str(userdata))
print(resp.text)
这是我的PHP脚本:
<?php
if (isset($_GET['userdata'])){
$userdata = $_GET['userdata'];
echo $userdata;
}
else{
echo "Data not received";
}
echo $userdata ;
?>
问题
我的 python 文件没有将用户数据发送到 php 脚本。任何帮助将不胜感激谢谢。
requests.post
需要 dict
对象,而不是 str
.
所以用请求发布数据,
data = {'userdata': message}
resp = requests.post(url, data=data)
编辑
data = {'userdata': message}
resp = requests.get(url, params=data)
问题是您正在发送 post 数据,但在 PHP 脚本中,您正在捕获 GET 数据。
我们可以像这样重写这两个文件以发送 POST 数据并捕获 POST 数据
Python 文件
sign = host + mac
message = input('plz enter message')
url = 'http://localhost:8081/project/server.php'
postdata = {'sign': sign , 'msg' : message }
x = requests.post(url, data = postdata)
print(x.text)
PHP 文件
<?php
if (isset($_POST['sign'])) {
$myfile = fopen("data", "a");
$sign = $_POST['sign'];
$msg = $_POST['msg'];
echo $sign . " " . $msg ;
fwrite($myfile , $sign.','.$msg."\n");
fclose($myfile);
}
else {
echo "Data not received <br/>";
}
$myfile = fopen("data", "r");
while(!feof($myfile)) {
echo fgets($myfile). "<br/>";
}
fclose($myfile);
?>
这是我的 python 文件:
host = socket.gethostname()
mac = hex(uuid.getnode())
sign = host + mac
message = input('plz enter message')
userdata = { message, sign}
url = "http://localhost:8081/project/server.php"
resp = requests.post(url, data=str(userdata))
print(resp.text)
这是我的PHP脚本:
<?php
if (isset($_GET['userdata'])){
$userdata = $_GET['userdata'];
echo $userdata;
}
else{
echo "Data not received";
}
echo $userdata ;
?>
问题 我的 python 文件没有将用户数据发送到 php 脚本。任何帮助将不胜感激谢谢。
requests.post
需要 dict
对象,而不是 str
.
所以用请求发布数据,
data = {'userdata': message}
resp = requests.post(url, data=data)
编辑
data = {'userdata': message}
resp = requests.get(url, params=data)
问题是您正在发送 post 数据,但在 PHP 脚本中,您正在捕获 GET 数据。 我们可以像这样重写这两个文件以发送 POST 数据并捕获 POST 数据
Python 文件
sign = host + mac
message = input('plz enter message')
url = 'http://localhost:8081/project/server.php'
postdata = {'sign': sign , 'msg' : message }
x = requests.post(url, data = postdata)
print(x.text)
PHP 文件
<?php
if (isset($_POST['sign'])) {
$myfile = fopen("data", "a");
$sign = $_POST['sign'];
$msg = $_POST['msg'];
echo $sign . " " . $msg ;
fwrite($myfile , $sign.','.$msg."\n");
fclose($myfile);
}
else {
echo "Data not received <br/>";
}
$myfile = fopen("data", "r");
while(!feof($myfile)) {
echo fgets($myfile). "<br/>";
}
fclose($myfile);
?>