douci1677 2015-02-04 15:15
浏览 25

_POST []删除所有+号

I have a simple java code that send a POST request to a php file, for example i send "test+-" when i echo the post it return "test -" why the + is removed?

The java code convert the text to bytes, maybe there is the sign lost?

OutputStream out=conn.getOutputStream();
        out.write(test.getBytes());

Thx for the help.

Update:

I tyed out.write(URLEncoder.encode(test).getBytes());, thx to @Marek but with this method the php don't recognizes the POST text

Edit:

Found solution, based on @HugoDelsing answer i just replace in the php class all spaces with a + and solve the error.

$test = str_replace(' ', '+', $test);

  • 写回答

1条回答 默认 最新

  • douxie3625 2015-02-04 15:21
    关注

    You can't just write post stream, you have to encode it, for example using URLEncoder:

    out.write(URLEncoder.encode(test).getBytes());
    

    It's not clear what encoding you are using, supply it as second parameter.

    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么