Мне нужно сделать петиции против https-сервера и загрузить данные, которые сервер отправляет обратно (текст, видеофайлы или файлы изображений) внутри моего приложения для Android.Wget или аналогичный для Android
Он отлично работает в терминале suse Linux и wget или curl. Запрос имеет такую структуру:
wget --post-data "token=xxxx&option1=1&option2=4&File=video" https://api.serverx.com/ --no-check-certificate
Мой вопрос, если есть какие-либо Wget или аналогичный, работающий в Android, или как я могу сделать такого рода петиций по-другому.
Я прочитал о реализации wget в NDK, но я хотел бы узнать ваш опыт или рекомендации. Благодаря
Решение
Использование 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 для android http://hoffman-andrews.com/android/wget/ есть также несколько проектов github, которые портировали wget на android. –