当我将POST中的数据发送到php脚本时,此帖子数据被截断/修改......
我有一个使用Guzzle或Curl发送的变量$ encrypted到一个端点,它返回json中的post数据(例如)
echo json_encode($_POST);
发送前$加密:
string(88) "D4PYDZou2pEugJKyR0vpjpdKplQ0g/pxNOrqomImFgdtKjuKA3WAQuFAt3OUlghBnGpMz2dOnYGOkGUyz5Vd7g=="
从端点收到的$ encrypted
string(71) "D PYDZou2pEugJKyR0vpjpdKplQ0g/pxNOrqomImFgdtKjuKA3WAQuFAt3OUlghBnGpMz2d"
当我用file_get_contents(“php:// input”)检查RAW数据时;
$ encrypted是可以的但不在$ _POST ...
我的脚本是通过nginx运行的apache / php
THX。
雷米
答案 0 :(得分:0)
我找到了发布base64数据的解决方案。
function base64_urlencode($data)
{
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
function base64_urldecode($data)
{
return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}
这种方法避免使用字符串中的特殊字符。