Https post request mit curl : Android

Ich versuche, führen Sie eine https post-Anforderung mit curl. Wenn ich führen Sie diese Anfrage, ich bin auch nicht immer jede Antwort, noch irgendwelche Fehler oder exception. Hilfe oder keine Ahnung was schief geht, ist hier willkommen. Danke.

curl-Befehlszeile-format :

    curl -X POST \
-F '[email protected];type=image/png' \
-F '[email protected];type=image/svg+xml' \
-F 'json={ 
    "text" : "Hello world!",
    "templateid" : "0010",
    "timestamp" : "1342683312", 
    "location" : [ 37.7793, -122.4192 ],
    "facebook" :
    {
        "id": "738124695",
        "access_token": "<VALID_USER_FACEBOOK_TOKEN_WITH_PUBLISH_ACTIONS_PERMISSIONS",
        "expiration_date": "1342683312"                
    }
};type=application/json' \
https://sample.com/api/posts

Facebook-posting-code :

public static void uploadToFB() {
    HttpClient client = getNewHttpClient();
    HttpPost httpost = new HttpPost("https://sample.com/api/posts");
    httpost.addHeader("image", "filename.png");
    httpost.addHeader("svgz", "filename.svgz");
    httpost.addHeader("type", "application/json");
    httpost.setHeader("Content-type", "application/json");
    JSONObject data = new JSONObject();
    JSONObject facebook = new JSONObject();
    JSONArray location = new JSONArray();
    HttpResponse response = null;
    try {
        data.put("text","Hello world!");
        data.put("templateid","0010");
        data.put("timestamp","2012-07-08 09:00:45.312195368+00:00");

        location.put(37.7793);
        location.put( -122.4192);
        data.put("location", location);
        facebook.put("id", "738124695");
        facebook.put("access_token", "AAADdF92joPABAKmRojBuXZAZAP"+
            "qF8ZAxM2bM"+
             "UnIErUSYZB85y5vIHAZDZD");
        facebook.put("expiration_date", "2013-07-07T 22:00:00Z");
        data.put("facebook", facebook);

        System.out.println(" ---- data ----- "+data);

        StringEntity stringEntity = new StringEntity(data.toString());
        httpost.setEntity(stringEntity);
        try {
            response = client.execute(httpost);
            System.out.println(" --- response --- "+response);
            HttpEntity entity = response.getEntity();
            //If the response does not enclose an entity, there is no need
            //to worry about connection release
            if(entity != null) {
                //A Simple Response Read
                InputStream instream = entity.getContent();
                String result = convertStreamToString(instream);
                System.out.println(" ---- result ---- "+result);

                //Closing the input stream will trigger connection release
                instream.close();
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    } catch (JSONException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}

Es wurde von einem nicht vertrauenswürdigen Netzwerk, so dass ich noch etwas, wie unten, wie in diese link.

private static HttpClient getNewHttpClient() {
    try {
        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
        trustStore.load(null, null);

        SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
        sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

        HttpParams params = new BasicHttpParams();
        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
        HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);

        SchemeRegistry registry = new SchemeRegistry();
        registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
        registry.register(new Scheme("https", sf, 443));

        ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);

        return new DefaultHttpClient(ccm, params);
    } catch (Exception e) {
        return new DefaultHttpClient();
    }
}
InformationsquelleAutor Braj | 2013-01-14
Schreibe einen Kommentar