I need to make petitions against a https server and download data that the server sends back (text, video files or image files), inside my Android app.
It works fine in the terminal of suse Linux and wget or curl. Request have this structure:
wget --post-data "token=xxxx&option1=1&option2=4&File=video" https://api.serverx.com/ --no-check-certificate
My question is if there is any wget or similar working in Android, or how can I make this kind of petitions in another way.
I read about implement wget in the NDK but I'd like to know your experience or recomendations. Thanks
Solution
Using NDK to port Wget was too complicated. After some research I found a solution using DefaultHttpClient and adding a couple of classes to avoid checking the certificates. I follow 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);