适用于Android的Wget或类似内容

适用于Android的Wget或类似内容,第1张

概述我需要在https服务器上进行请愿,并在我的 Android应用程序中下载服务器发回的数据(文本,视频文件或图像文件). 它在suse Linux和wget或curl的终端中工作正常.请求具有以下结构: wget --post-data "token=xxxx&option1=1&option2=4&File=video" https://api.serverx.com/ --no-check-c 我需要在https服务器上进行请愿,并在我的 Android应用程序中下载服务器发回的数据(文本,视频文件或图像文件).

它在suse linux和wget或curl的终端中工作正常.请求具有以下结构:

wget --post-data "token=xxxx&option1=1&option2=4&file=vIDeo" https://API.serverx.com/ --no-check-certificate

我的问题是,在AndroID中是否有任何wget或类似工作,或者我如何以另一种方式进行此类请求.

我在NDK中阅读了有关实现wget的内容,但我想知道您的经验或建议.
谢谢

使用NDK移植Wget太复杂了.
经过一些研究,我找到了一个使用DefaulthttpClIEnt的解决方案,并添加了几个类以避免检查证书.我跟着this article

SchemeRegistry schemeRegistry = new SchemeRegistry();    schemeRegistry.register(new Scheme("http",PlainSocketFactory.getSocketFactory(),80));    schemeRegistry.register(new Scheme("https",new EasySSLSocketFactory(),443));    httpParams params = new BasichttpParams();    params.setParameter(ConnManagerPnames.MAX_TOTAL_CONNECTIONS,30);    params.setParameter(ConnManagerPnames.MAX_CONNECTIONS_PER_ROUTE,new ConnPerRouteBean(30));    params.setParameter(httpProtocolParams.USE_EXPECT_CONTINUE,false);    httpProtocolParams.setVersion(params,httpVersion.http_1_1);    ClIEntConnectionManager cm = new SingleClIEntConnManager(params,schemeRegistry);    DefaulthttpClIEnt httpClIEnt = new DefaulthttpClIEnt(cm,params);
解决方法 使用wget或ndk是一个坏主意:直接转到java并使用httpClIEnt来创建一个post请求:例子可以找到 here.

响应将包含您的数据,可以保存到文件中.

另外,你可以把它放在异步任务中,进度监控:分配像Curl ou wget这样的外部进程应该保留为最后一次机会(与服务器通信显然不是)

总结

以上是内存溢出为你收集整理的适用于Android的Wget或类似内容全部内容,希望文章能够帮你解决适用于Android的Wget或类似内容所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存