私の問題は、サーバに投稿した後にストリームを開くときに、getInputStream()
がハングすることです。 Pythonで書かれたサーバーは、私のクエリ文字列を正しく解析することができないと信じさせるエラーメッセージを出します。この問題を診断するのを手伝ってください。getInputStream()POSTリクエストでハング
私は、次のコードでWebサーバに掲示しています:
String boundarySolo = "--158211729626281";
String boundary = boundarySolo + "\r\n";
String contentHeader = "Content-Disposition: form-data; name=\"";
URL requestUrl;
URLConnection connection;
String queryString = new String();
try{
requestUrl = new URL(config.getServerUrl());
connection = requestUrl.openConnection();
connection.setReadTimeout(1000);
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundarySolo);
。 。 。
outStream = new DataOutputStream(connection.getOutputStream());
System.out.println("Writing bytes...");
outStream.writeUTF(queryString);
System.out.println("Bytes written");
outStream.flush();
System.out.println("Buffer flushed.");
outStream.close();
System.out.println("Stream closed.");
try{
inStream = new DataInputStream(connection.getInputStream());
String buffer;
System.out.println("Entering the loop.");
while((buffer = inStream.readLine())!= null)
System.out.println(buffer);
System.out.println("Leaving the loop.");
}
catch (SocketTimeoutException e) {
System.out.println("Socket timed out.");
}
クエリ文字列は、(各行の終わりに\r\n
で)こので構成されています。私が正しく覚えていれば
--158211729626281
Content-Disposition: form-data; name="view"
a
--158211729626281
Content-Disposition: form-data; name="termdb"
Saccharomyces_cerevisiae.etd
--158211729626281
Content-Disposition: form-data; name="raw_weights"
blank
--158211729626281
Content-Disposition: form-data; name="MAX_FILE_SIZE"
256
--158211729626281
Content-Disposition: form-data; name="cutoff_Evalue"
0.01
--158211729626281
Content-Disposition: form-data; name="min_term_size"
2
--158211729626281
Content-Disposition: form-data; name="effective_tdb_size"
0
--158211729626281
Content-Disposition: form-data; name="stats"
wsum
--158211729626281
Content-Disposition: form-data; name="transform_weights"
null
--158211729626281
Content-Disposition: form-data; name="cutoff_type"
none
--158211729626281
Content-Disposition: form-data; name="output"
tab
--158211729626281--
(テキストが/ *サーバーから返されていると仮定)? Pythonをターゲットにした質問にそれを再び埋め込むことができます。 – BalusC