相关疑难解决方法(0)

如何使用NameValuePair使用POST向HttpURLConnection添加参数

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

post.setEntity(new UrlEncodedFormEntity(nvp));
Run Code Online (Sandbox Code Playgroud)

哪里

nvp = new ArrayList<NameValuePair>();
Run Code Online (Sandbox Code Playgroud)

有一些数据存储在.我找不到如何将此添加ArrayList到我HttpURLConnection这里的方法:

HttpsURLConnection https = (HttpsURLConnection) url.openConnection();
https.setHostnameVerifier(DO_NOT_VERIFY);
http = https;
http.setRequestMethod("POST");
http.setDoInput(true);
http.setDoOutput(true);
Run Code Online (Sandbox Code Playgroud)

这种尴尬的https和http组合的原因是不需要验证证书.但这不是问题,它可以很好地发布服务器.但是我需要用论据发帖.

有任何想法吗?


重复免责声明:

回到2012年,我不知道如何将参数插入到HTTP POST请求中.我一直在坚持,NameValuePair因为它是在教程中.这个问题可能看似重复,但是,我的2012年自我阅读了其他问题并且它没有使用NameValuePair.事实上,它并没有解决我的问题.

post android http-post httpurlconnection basicnamevaluepair

252
推荐指数
8
解决办法
41万
查看次数

Android弃用了apache模块(HttpClient,HttpResponse等)

自API级别22以来,Android已经弃用了Apache模块,所以我的问题是,我如何使用,例如  HttpResponse来自Apache库,而不是Android SDK?问题是两个包都是一样的.

但是,例如,HttpGet没关系,因为它HttpGetHC4在Apache中被调用.

apache android apache-commons-httpclient

59
推荐指数
5
解决办法
7万
查看次数

HttpEntity现在在Android上被弃用了,还有什么选择?

随着Android 5.1的发布,看起来所有Apache http的东西都被弃用了.看文档是没用的; 他们都说

This class was deprecated in API level 22. Please use openConnection() instead. Please visit this webpage for further details.

这是第一次阅读它时没关系,但是当每个被弃用的类都说明了这一点时,它没那么有用.

总之,什么是类的替代喜欢HttpEntity,特别是StringEntityMultipartEntity我替换BasicNameValuePair了我自己的Android Pair<T, S>类实现,它看起来URLEncoder.encode是一个很好的替代品URLEncodedUtils,但我不知道该怎么做HttpEntity.

编辑

我决定重新编写网络内容.要尝试使用Retrofit和OkHttp

编辑

认真看看将你的通话和东西转换为Retrofit.很漂亮.我很高兴我做到了.有一些障碍,但它很酷.

android httpurlconnection apache-httpclient-4.x

45
推荐指数
2
解决办法
5万
查看次数