[英]POST request payload in python not reaching PHP server
我正在嘗試將 JSON 有效負載與 python 中的 python 請求中的 session 請求發送到 Z2FEC392304A4C23AC1388DA222B222B22B服務器。 session 本身已建立並且 cookies 被服務器接受,但是當我打印出$_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";
}
Output
Array
(
)
OK: Message accepted: [0][unknown]
根據此處的文檔: https://2.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests ,為了發布 Z0ECD11C1D7A287401D148A23BBD 的以下 7 種方式:
import json
...
response = s.post(url, data = json.dumps(payload), verify = False)
或者
...
response = s.post(url, json = payload, verify = False)
請注意,如果傳遞data
或files
,則忽略json
參數。
在請求中使用json
參數會將 header 中的Content-Type
更改為application/json
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.