【发布时间】:2022-01-04 09:47:00
【问题描述】:
我正在尝试在 python 中将带有会话请求的 JSON 有效负载发送到 PHP 服务器。
会话本身已建立,并且服务器接受了 cookie,但是当我打印出 $_POST 时,它返回一个空数组。
看起来负载没有随请求一起发送,或者 PHP 可能无法识别它。
客户端 - Python:
import json
import requests
url = 'https://prov.is.st.com/eventpost.php'
payload = {
'script': 'pyt.sh',
'status': 'Success'
}
s = requests.Session()
s.cookies.set('provisioning', cookie, domain='prov.is.st.com')
headers = {
'Content-Type': 'application/json'
}
s.headers.update(headers)
response = s.post(url, data=payload, verify=False)
print(response.text)
服务器端 - PHP:
<?php
print_r($_POST);
if(isset($_POST['status'])){
$status = $_POST['status'];
}
else{
$status=0;
}
if (isset($_POST['script'])) {
$script=$_POST['script'];
} else {
$script="unknown";
}
if (isset($_COOKIE['provisioning'])) {
$cookie=$_COOKIE['provisioning'];
print "OK: Message accepted: [$status][$script]\n";
}
else {
print "ERROR: NO cookie provided.\n";
}
输出
Array
(
)
OK: Message accepted: [0][unknown]
【问题讨论】:
-
错字:
$POST['script']应该是$_POST['script']
标签: python php session python-requests