我有一个简单的Java代码,将POST请求发送到php文件,例如,当我回显该帖子时,它发送“ test +-”,返回“ test-”,为什么+被删除了?
Java代码将文本转换为字节,也许丢失了符号?
OutputStream out=conn.getOutputStream();
out.write(test.getBytes());
谢谢。
更新:
我将
out.write(URLEncoder.encode(test).getBytes());
绑定到@Marek,但是用这种方法php无法识别POST文本编辑:
找到了基于@HugoDelsing答案的解决方案,我只在php类中用+替换了所有空格并解决了错误。
$test = str_replace(' ', '+', $test);
最佳答案
您不仅可以编写帖子流,还必须对其进行编码,例如使用URLEncoder
:
out.write(URLEncoder.encode(test).getBytes());
目前尚不清楚您使用的是哪种编码,将其作为第二个参数提供。
关于java - _POST []删除所有+号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28324813/