HTML 表单 POST 方法将"+"传递为 %2B,"="传递为 %3D。如何获得原始"+"和"="标志?



我正在编写一个web服务器,它可以使用POST方法处理从HTML表单传递的数据。

我在表单中键入c=a+b并提交表单(单击"运行"按钮(。它看起来像:HTML页面

服务器获取POST请求的正文。它的机身看起来是这样的:

code=c%3Da%2Bb

服务器端控制台显示POST请求的内容,包括标题和正文

"c%3Da%2Bb";被编码。我必须使用一些函数来将%3D替换为+,将%2B替换为=

我正在寻找一些方法,我可以在文本区域中获得原始文本("c=a+b"(,而不是编码文本("c%3Da%2Bb"(。

我试着把";内容类型";从";application/x-www-form-urlencoded";至";text/plain";通过添加";enctype";在我的HTML表单中:""它实际上帮助我在服务器中获得原始文本("c=a+b"(:最后一行是POST请求的正文,它是原始文本

但有人说改成";text/plain";这不是一个好办法。那么,有没有一种方法可以直接获得原始文本,而不是在服务器端解码数据。

这就是这种媒体类型("application/x-www-form-urlencoded"(的工作方式。空白空间由"0"表示+&";,所以"+"需要以不同的方式进行编码。

最新更新