Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit87776ca

Browse files
committed
HttpExecutor post method improvements
1 parent0a27cf6 commit87776ca

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

‎src/main/java/io/api/etherscan/executor/impl/HttpExecutor.java‎

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
importio.api.etherscan.util.BasicUtils;
77

88
importjava.io.BufferedReader;
9-
importjava.io.DataOutputStream;
109
importjava.io.IOException;
1110
importjava.io.InputStreamReader;
11+
importjava.io.OutputStream;
1212
importjava.net.HttpURLConnection;
1313
importjava.net.SocketTimeoutException;
1414
importjava.net.URL;
15+
importjava.nio.charset.StandardCharsets;
1516
importjava.util.HashMap;
1617
importjava.util.Map;
1718
importjava.util.zip.GZIPInputStream;
@@ -103,14 +104,16 @@ public String get(final String urlAsString) {
103104
publicStringpost(finalStringurlAsString,finalStringdataToPost) {
104105
try {
105106
finalHttpURLConnectionconnection =buildConnection(urlAsString,"POST");
106-
finalStringcontentLength = (BasicUtils.isEmpty(dataToPost)) ?"0" :String.valueOf(dataToPost.length());
107-
connection.setRequestProperty("content-length",contentLength);
107+
finalStringcontentLength = (BasicUtils.isBlank(dataToPost)) ?"0" :String.valueOf(dataToPost.length());
108+
connection.setRequestProperty("Content-Type","application/json; charset=UTF-8");
109+
connection.setRequestProperty("Content-Length",contentLength);
110+
connection.setFixedLengthStreamingMode(dataToPost.length());
108111

109112
connection.setDoOutput(true);
110-
DataOutputStreamwr =newDataOutputStream(connection.getOutputStream());
111-
wr.writeBytes(dataToPost);
112-
wr.flush();
113-
wr.close();
113+
connection.connect();
114+
try (OutputStreamos =connection.getOutputStream()) {
115+
os.write(dataToPost.getBytes(StandardCharsets.UTF_8));
116+
}
114117

115118
finalintstatus =connection.getResponseCode();
116119
if (status ==HTTP_MOVED_TEMP ||status ==HTTP_MOVED_PERM) {
@@ -141,13 +144,13 @@ private String readData(final HttpURLConnection connection) throws IOException {
141144
}
142145

143146
privateInputStreamReadergetStreamReader(finalHttpURLConnectionconnection)throwsIOException {
144-
finalbooleanhaveEncoding =connection.getContentEncoding() !=null;
145-
146-
if (haveEncoding &&"gzip".equals(connection.getContentEncoding()))
147-
returnnewInputStreamReader(newGZIPInputStream(connection.getInputStream()),"utf-8");
148-
elseif (haveEncoding &&"deflate".equals(connection.getContentEncoding()))
149-
returnnewInputStreamReader(newInflaterInputStream(connection.getInputStream()),"utf-8");
150-
else
151-
returnnewInputStreamReader(connection.getInputStream(),"utf-8");
147+
switch (String.valueOf(connection.getContentEncoding())) {
148+
case"gzip":
149+
returnnewInputStreamReader(newGZIPInputStream(connection.getInputStream()),"utf-8");
150+
case"deflate":
151+
returnnewInputStreamReader(newInflaterInputStream(connection.getInputStream()),"utf-8");
152+
default:
153+
returnnewInputStreamReader(connection.getInputStream(),"utf-8");
154+
}
152155
}
153156
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp