Java HTTPClient遇到问题
我正在努力通过HTTP PUT在服务器上创建一个纯文本文件。我正在使用ApacheCommonsHttpClient。我的凭据正在工作,但请求中没有正文内容。我必须做什么才能创建这样的文件?当我尝试通过hurl.It(即设置凭据和设置主体)时,它会按预期工作。我希望在文件体中显示字符串“hej”。在完成这项工作之后,我打算使用JSONString。以下代码在服务器上生成一个空文件(204响应):Java HTTPClient遇到问题,java,json,http,apache-commons,Java,Json,Http,Apache Commons,我正在努力通过HTTP PUT在服务器上创建一个纯文本文件。我正在使用ApacheCommonsHttpClient。我的凭据正在工作,但请求中没有正文内容。我必须做什么才能创建这样的文件?当我尝试通过hurl.It(即设置凭据和设置主体)时,它会按预期工作。我希望在文件体中显示字符串“hej”。在完成这项工作之后,我打算使用JSONString。以下代码在服务器上生成一个空文件(204响应): 我尝试过设置内容类型和不设置内容类型,没有区别。我做错了什么基本的事情?结果是Base64.enco
我尝试过设置内容类型和不设置内容类型,没有区别。我做错了什么基本的事情?结果是Base64.encodeBase64String在字符串的末尾附加了一个换行符,这会使所有内容都消失
String encoding = http_username + ":" + http_password;
encoding = Base64.encodeBase64String(encoding.getBytes());
encoding= encoding.replace("\r\n", ""); //This fixes everything
哇,我花了几天时间才弄明白 结果是Base64.encodeBase64String在字符串的末尾追加了一个换行符,这会将所有内容都忽略掉
String encoding = http_username + ":" + http_password;
encoding = Base64.encodeBase64String(encoding.getBytes());
encoding= encoding.replace("\r\n", ""); //This fixes everything
哇,我花了几天时间才弄明白 您当前的代码根本不发送文件,而是在请求正文中发送一些纯文本。您的服务器端资源需要什么(如果您包含资源方法,我们将帮助您)。我无法访问服务器端,因此无法提供有关它的详细信息。您可以在这里列出内容:data.json文件是由上面的代码生成的,而data2.json是在我尝试通过Hull时生成的。如果不知道有效请求应该是什么样子,它就不能给您提供建议。但您可以做的是,在打开Google Chrome Developer Tools的情况下运行hurl.it测试,并在“网络”选项卡中检查发送到服务器的所有HTTP属性。然后在客户端代码中复制这些设置。如果您需要帮助,请将您找到的属性信息发布到您的问题中。您当前的代码根本不发送文件,而是在请求正文中发送一些纯文本。您的服务器端资源需要什么(如果您包含资源方法,我们将帮助您)。我无法访问服务器端,因此无法提供有关它的详细信息。您可以在这里列出内容:data.json文件是由上面的代码生成的,而data2.json是在我尝试通过Hull时生成的。如果不知道有效请求应该是什么样子,它就不能给您提供建议。但您可以做的是,在打开Google Chrome Developer Tools的情况下运行hurl.it测试,并在“网络”选项卡中检查发送到服务器的所有HTTP属性。然后在客户端代码中复制这些设置。如果您需要帮助,请将您找到的房产信息发布到您的问题中。