在尝试连接到URL以解析json数据android时获取响应代码500

时间:2016-05-04 07:51:56

标签: android json

我正在尝试连接到Url,为此我将JSON数据发送到Url,但我收到响应代码500,我不知道问题究竟在哪里。我正在尝试将URI数据发送到从URL

获取json数据
        package practise.c.practise;
        import android.net.Uri;
        import android.os.Handler;
        import android.os.Message;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.util.Base64;
        import android.util.Log;
        import android.widget.Toast;

        import java.io.BufferedReader;
        import java.io.BufferedWriter;
        import java.io.IOException;
        import java.io.InputStream;
        import java.io.InputStreamReader;
        import java.io.OutputStream;
        import java.io.OutputStreamWriter;
        import java.net.HttpURLConnection;
        import java.net.MalformedURLException;
        import java.net.URL;

        public class API extends AppCompatActivity {
            String USERID;
            String APIKEY;


            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_api);
                Log.d("oncreate", "onCreate: ");


                final Uri.Builder builder = new Uri.Builder()
                        .appendQueryParameter("day", "" + "1")
                        .appendQueryParameter("month", "" + "1")
                        .appendQueryParameter("year", "" +"2015" )
                        .appendQueryParameter("hour", "" + "1")
                        .appendQueryParameter("min", "" + "30")
                        .appendQueryParameter("lat", "" +"18.7250" )
                        .appendQueryParameter("lon", "" + "72.250")
                        .appendQueryParameter("tzone", "" + "5.5");

                Thread thread = new Thread(new Runnable() {
                    @Override
                    public void run() {

                        try {
                            Log.d("threadrun", "onCreate: ");
                            URL url = new URL("https://api.vehello.com/b1/birth_details");
                            HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                            String userCredentials = "44463:6jjjjjjjjjjjjjf4447b59bfed";
                            String basicAuth = Base64.encodeToString(userCredentials.getBytes(),Base64.DEFAULT);
                            httpURLConnection.setRequestProperty ("Authorization","Basic" + basicAuth);
                            httpURLConnection.setRequestMethod("POST");
                            httpURLConnection.setRequestProperty("Accept-Language", "en");
                            httpURLConnection.setDoInput(true);
                            httpURLConnection.setDoOutput(true);
                            String query = builder.build().getEncodedQuery();

                            OutputStream os = httpURLConnection.getOutputStream();
                            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
                            writer.write(query);
                            writer.flush();
                            writer.close();
                            os.close();
                            httpURLConnection.connect();


                            Log.d("responseerror", "run: "+httpURLConnection.getErrorStream());

                            int responseCode = httpURLConnection.getResponseCode();


                            Log.d("responsecode", "run: "+responseCode);

                            if(responseCode == 200){

                                InputStream inputStr = httpURLConnection.getInputStream();
                                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStr));
                                StringBuilder result = new StringBuilder();
                                String line;
                                while((line = reader.readLine()) != null) {
                                    result.append(line);
                                }
                                Log.d("API:DATA", "run: "+result);

                            }



                        } catch (Exception e) {
                            e.printStackTrace();
                        }

                    }
                });
                thread.start();





            }




        }

0 个答案:

没有答案