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

时间:2015-03-17 11:12:15

标签: java php android post

我试图将edittext的输入发送到PHP。如果我发送没有空格的东西,它可以正常工作,但是会因为空格而崩溃并说:

  

非法人物

......指的是空间。

显然,这是引用正确的问题但由于某种原因我无法做到这一点。

我在哪里添加引号?

在创建URL时是否使用Java?

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

或创建变量时?

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

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

2 个答案:

答案 0 :(得分:3)

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

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

  1. 创建一个函数以接受字符串并用%20;
  2. 替换所有空格
  3. 使用%20
  4. 手动替换空格

    例如:

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

    实际应该是

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

答案 1 :(得分:0)

以编程方式与后端服务器通信时,应使用URL编码对输入进行正确编码:

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