Send HTTPS Post Request to the server

后端 未结 2 1517
离开以前
离开以前 2020-12-13 02:59

This is my HTTP JSON

 {  
 \"User\": {    
    \"Name\": \"Compulsary\",\"Password\": \"Compulsary\"  }
}

Which I have to post to the serve

2条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-13 03:48

    i am using the following codes for the combination of https/http/wift/3G , hope it helps

    public class CustomHttpClient {
    private static DefaultHttpClient customHttpClient;
    
    /** A private Constructor prevents instantiation */
    private CustomHttpClient() {
    }
    
    public static synchronized DefaultHttpClient getHttpClient() {
        if (customHttpClient == null) {
            HttpParams params = new BasicHttpParams();
            HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
            HttpProtocolParams.setContentCharset(params,
                    HTTP.DEFAULT_CONTENT_CHARSET);
            HttpProtocolParams.setUseExpectContinue(params, true);
            HttpProtocolParams.setUserAgent(params, "Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1(KHTML, like Gecko) Version/4.0 Mobile Safari/533.1");
            ConnManagerParams.setTimeout(params, 1000);
            HttpConnectionParams.setConnectionTimeout(params, 5000);
            HttpConnectionParams.setSoTimeout(params, 10000);
            SchemeRegistry schReg = new SchemeRegistry();
            schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
            schReg.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
            ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params,schReg);
            customHttpClient = new DefaultHttpClient(conMgr, params);
        }
        return customHttpClient;
    }
    
    public Object clone() throws CloneNotSupportedException {
        throw new CloneNotSupportedException();
    }
    

    }

    and the sample

    public static String Call(String URL, List postParameters)
    {
        BufferedReader in = null;
        DefaultHttpClient httpClient;
        StringBuffer sb = new StringBuffer();   
        try{
            httpClient = CustomHttpClient.getHttpClient();
    
            HttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false); //making 3G network works*
            HttpPost request = new HttpPost(URL);
            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
            request.setEntity(formEntity);
            HttpResponse response = httpClient.execute(request);
            in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            String line = "";
            String NL = System.getProperty("line.separator");
            while ((line = in.readLine()) != null) {
            sb.append(line + NL);
            }
            in.close();
    
        }catch(Exception ex)
        {
            ex.printStackTrace();
    
        }
        return sb.toString();
    }
    

提交回复
热议问题