如何发送带有空格的POST请求


How can I send a POST request with spaces?

我正在尝试将输入从edittext发送到PHP。如果我发送没有空格的东西,它可以正常工作,但有空格时崩溃,并说:

非法字符

指的是空间。

很明显,这是一个正确报价的问题,但由于某种原因,我无法正确报价。

在哪里添加引号?

在创建URL的过程中是否使用Java?

http://example.com/android/project_group_notes_details.php?course=''"+sessionCourse+"''";

还是在创建变量时?

String sessionCouse = "''Software Development With Spaces''";

还是以某种方式在服务器端完成?

标准浏览器会将输入地址栏的所有空格替换为%20;HTML的space字符。

HTTP不会这样做,浏览器会这样做,这意味着你有两个选择:

  1. 创建一个函数来接收一个字符串,并将所有空格替换为%20
  2. %20手动替换空间

例如:

String sessionCouse = "''Software Development With Spaces''";

实际上应该是

String sessionCouse = "''Software%20Development%20With%20Spaces''";

当以编程方式与后端服务器通信时,您应该使用URL编码来正确编码您的输入:

String fullURL = "http://example.com/android/project_group_notes_details.php?course=''"+ URLEncoder.encode(sessionCouse, "UTF-8") + "''";