0
我有下面的Python代碼接收POST數據並將其寫入文件。接收POST數據在Java中的等效數據
def do_POST(self):
content_length = self.headers['content-length']
content = self.rfile.read(int(content_length))
with open("filename.txt", 'w') as f:
f.write(content.decode())
self.send_response(200)
Java中的等價物是什麼?我使用NanoHTTPD作爲HTTP服務器,但由於某些原因,我的Java應用程序只接收帶有無數據標題的POST請求,而python應用程序正在接收整個數據集。
UPDATE(Java代碼的):
public Response serve(IHTTPSession session)
{
Method method = session.getMethod();
String uri = session.getUri();
LOG.info(method + " '" + uri + "' ");
Map<String, String> headers = session.getHeaders();
String cl = headers.get("Content-Length");
int contentLength = 0
if (null != cl)
{
contentLength = Integer.parseInt(cl);
}
InputStream is = session.getInputStream();
int nRead;
byte[] data = new byte[contentLength];
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
try
{
LOG.info("Start Read Data");
while ((nRead = is.read(data, 0, data.length)) != -1)
{
LOG.info("Read Data: " + nRead);
buffer.write(data, 0, nRead);
}
buffer.flush();
LOG.info("Result: " + new String(buffer.toByteArray(), "UTF-8"));
}
catch (IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
return newFixedLengthResponse("");
}
請顯示您的Java代碼。 SO不是代碼翻譯服務。 –