Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTTPClient遇到问题_Java_Json_Http_Apache Commons - Fatal编程技术网

Java HTTPClient遇到问题

Java HTTPClient遇到问题,java,json,http,apache-commons,Java,Json,Http,Apache Commons,我正在努力通过HTTP PUT在服务器上创建一个纯文本文件。我正在使用ApacheCommonsHttpClient。我的凭据正在工作,但请求中没有正文内容。我必须做什么才能创建这样的文件?当我尝试通过hurl.It(即设置凭据和设置主体)时,它会按预期工作。我希望在文件体中显示字符串“hej”。在完成这项工作之后,我打算使用JSONString。以下代码在服务器上生成一个空文件(204响应): 我尝试过设置内容类型和不设置内容类型,没有区别。我做错了什么基本的事情?结果是Base64.enco

我正在努力通过HTTP PUT在服务器上创建一个纯文本文件。我正在使用ApacheCommonsHttpClient。我的凭据正在工作,但请求中没有正文内容。我必须做什么才能创建这样的文件?当我尝试通过hurl.It(即设置凭据和设置主体)时,它会按预期工作。我希望在文件体中显示字符串“hej”。在完成这项工作之后,我打算使用JSONString。以下代码在服务器上生成一个空文件(204响应):


我尝试过设置内容类型和不设置内容类型,没有区别。我做错了什么基本的事情?

结果是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属性。然后在客户端代码中复制这些设置。如果您需要帮助,请将您找到的房产信息发布到您的问题中。