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

How can I send a POST request with spaces?

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

illegal character

...指的是space.

显然这是正确引用引号的问题,但出于某种原因我无法正确引用。

在哪里添加引号?

在创建 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
  3. 手动替换空格

例如:

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") + "\'";