php解析raw格式数据:
$raw_params = file_get_contents("php://input"); 收到原数据格式,得到类似: operator_token=10ac2753e78abxxxxx62d1f70fc2aaca&secret_key=bff7e71e45bad3ccexxx76e309&operator_player_session=RXZvR3dIMmpDUDZIL3hHZm0vdHRQZz09Ojo0iswLEYe3w/7P+FF8GUsX&game_id=79&ip=1.64.168.8&custom_parameter=&bet_type=1 然而当我们解析时,注意 operator_player_session后面加密字符串有个+号,我们开始解析: parse_str( $raw_params, $after_params ); 得到$after_params, 此时,+被替换成了 空格。 修复方案: // 使用 parse_str 解析字符串,但不保留 +,解决办法是 先编码$raw_params = str_replace('+', '%2B', $raw_params); //%2B 代表urlencode里面的空格
parse_str($raw_params,$params); 再次解析,发现问题解决。特此记录一下 标签:parse,raw,params,str,operator,解析 From: https://www.cnblogs.com/wujf-myblog/p/18084206