如何发送带空格的 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 不会这样做,浏览器会,这意味着您有两个选择:
- 创建一个函数来接收字符串并将所有空格替换为
%20
;
- 用
%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") + "\'";
我正在尝试将输入从 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 不会这样做,浏览器会,这意味着您有两个选择:
- 创建一个函数来接收字符串并将所有空格替换为
%20
; - 用
%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") + "\'";