如何使用POST参数添加到的HttpURLConnection

编程入门 行业动态 更新时间:2024-10-25 14:24:18
本文介绍了如何使用POST参数添加到的HttpURLConnection的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图做的发布与的HttpURLConnection (我需要用这种方式,不能使用 HttpPost ),我想参数添加到连接,如

I am trying to do POST with HttpURLConnection(I need to use it this way, can't use HttpPost) and I'd like to add parameters to that connection such as

post.setEntity(new UrlEncodedFormEntity(nvp));

其中

nvp = new ArrayList<NameValuePair>();

其上存储一些数据,我不能找到一种方法如何添加此的ArrayList 我的的HttpURLConnection 这是在这里:

HttpsURLConnection https = (HttpsURLConnection) url.openConnection(); https.setHostnameVerifier(DO_NOT_VERIFY); http = https; http.setRequestMethod("POST"); http.setDoInput(true); http.setDoOutput(true);

这其中的原因尴尬HTTPS和HTTP的组合是需要的不检查的证书。这是没有问题的,但是,它张贴服务器很好。但我需要它来发布带有参数。

The reason for that awkward https and http combination is the need for not verifying the certificate. That is not a problem, though, it posts the server well. But I need it to post with arguments.

任何想法?

推荐答案

您可以得到的输出流的连接,并写入参数查询字符串给它。

You can get output stream for the connection and write the parameter query string to it.

URL url = new URL("yoururl"); HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(15000); conn.setRequestMethod("POST"); conn.setDoInput(true); conn.setDoOutput(true); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("firstParam", paramValue1)); params.add(new BasicNameValuePair("secondParam", paramValue2)); params.add(new BasicNameValuePair("thirdParam", paramValue3)); OutputStream os = conn.getOutputStream(); BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(os, "UTF-8")); writer.write(getQuery(params)); writer.flush(); writer.close(); os.close(); conn.connect();

...

private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException { StringBuilder result = new StringBuilder(); boolean first = true; for (NameValuePair pair : params) { if (first) first = false; else result.append("&"); result.append(URLEncoder.encode(pair.getName(), "UTF-8")); result.append("="); result.append(URLEncoder.encode(pair.getValue(), "UTF-8")); } return result.toString(); }

更多推荐

如何使用POST参数添加到的HttpURLConnection

本文发布于:2023-10-12 00:12:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1483236.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   参数   POST   HttpURLConnection

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!