它在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或类似内容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)