我一直在搜索,但没有找到任何解决方案。我想使用URL
,HttpsUrlConnection
而不是弃用的HttpClient, HttpPost, DefaultHttpClient
)。到目前为止,我有以下代码:
注意“MyUrl”需要一些参数。见问题2。
URL url = new URL("MyUrl");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
/*Here exception occurs!*/
connection.connect();
所以,我有两个问题需要解决:(也许第二个问题应该先解决。我不知道......)
connection.someMethod();
时发生SSLException。 (即connection.getResponseCode();
)错误是:
javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x635cb550: Failure in SSL library, usually a protocol error
List<NameValuePair> & BasicNameValuePair
的替代方法是什么?这些也被弃用了。 答案 0 :(得分:1)
您可以将以下库用于 HTTP请求 - 响应
您可以使用 Google-Gson 来解析JSON数据
答案 1 :(得分:0)
您不需要使用连接。只需这样做:
conn.setRequestMethod("POST");
InputStream in = new BufferedInputStream(conn.getInputStream());
response = org.apache.commons.io.IOUtils.toString(in, "UTF-8");
您会收到回复。
此外,您可以使用ContentValues替代NameValuePair:
ContentValues initialValues = new ContentValues();
initialValues.put("parameter", value);