我正在尝试连接到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();
}
}