第一次写post请求,遇到了很多问题,到现在也没解决,望各位能给搞定了
遇到的问题∶点击登录后,不管账号密码是否正确,都转到了登录后界面,代码里也写判断了。
首先贴登录JAVA
public class MainActivity extends Activity {
private EditText ed1;
private EditText ed2;
private Button bt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1 = findViewById(R.id.activity_mainEditText1);
ed2 = findViewById(R.id.activity_mainEditText2);
bt1 = findViewById(R.id.activity_mainButton1);
bt1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1) {
final String username = ed1.getText().toString();
final String password = ed2.getText().toString();
if(TextUtils.isEmpty(username)||TextUtils.isEmpty(password)){
Toast.makeText(MainActivity.this,"用户名或密码不可为空",Toast.LENGTH_SHORT).show();
}else{
new Thread(new Runnable(){
@Override
public void run() {
//final String username = ed1.getText().toString();
//final String password = ed2.getText().toString();
String url1 = "http://edj.sqktd.top/api/Login";
String data = "?username="+username+"&password="+password+"&appid=10000";
try {
URL url = new URL(url1);
try {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setRequestProperty("Content-type","application/json");
OutputStream os = conn.getOutputStream();// 获取输出流
os.write(data.getBytes());//将数据提交给服务器
conn.connect();
int rcod = conn.getResponseCode();
InputStream is = conn.getInputStream();
//Log.v("json","MESSAGE == > "+streamToString(is));
/*Looper.prepare();
Toast.makeText(MainActivity.this, rcod, Toast.LENGTH_SHORT).show();
Looper.loop();*/
if(rcod == 200){
Intent in = new Intent(MainActivity.this,rcod.class);
startActivity(in);
finish();
}else{
finish();
}
} catch (IOException e) {}
} catch (MalformedURLException e) {}
}
}).start();
}
}
});
}
}
:清单文件有完全的网络访问权限
如图,完全不存在的账号也可以登录