gpt4 book ai didi

java - Android 向服务器发送 JSON 身份验证并检索数据

转载 作者:行者123 更新时间:2023-12-01 12:34:43 24 4
gpt4 key购买 nike

您好,我想在 URL 上进行身份验证并从那里获取数据。我发现了一些东西,但出现以下错误。可能是什么问题?

public class MainActivity extends Activity {

private static final String URL = "https://mobilogr.uludag.edu.tr/BYService/LoginService.asmx/LoginUser";

@Override
public void onCreate(Bundle savedInstanceState) {

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void sendJson(View v) {

HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
HttpResponse response;
JSONObject json = new JSONObject();

try {
HttpPost post = new HttpPost(URL);
json.put("kullaniciAdi", "asdsads");
json.put("sifre", "asdasdsa");
StringEntity se = new StringEntity( json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
response = client.execute(post);

/*Checking response */
if(response!=null){
InputStream in = response.getEntity().getContent(); //Get the data in the entity
}

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


}
}

我收到以下错误:

09-05 14:37:30.632: W/System.err(1256): javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
09-05 14:37:30.641: W/System.err(1256): at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:137)
09-05 14:37:30.641: W/System.err(1256): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
09-05 14:37:30.650: W/System.err(1256): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:381)
09-05 14:37:30.661: W/System.err(1256): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
09-05 14:37:30.661: W/System.err(1256): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
09-05 14:37:30.671: W/System.err(1256): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
09-05 14:37:30.671: W/System.err(1256): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
09-05 14:37:30.671: W/System.err(1256): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
09-05 14:37:30.681: W/System.err(1256): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
09-05 14:37:30.691: W/System.err(1256): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
09-05 14:37:30.691: W/System.err(1256): at com.example.testjson.MainActivity.sendJson(MainActivity.java:52)
09-05 14:37:30.691: W/System.err(1256): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 14:37:30.691: W/System.err(1256): at java.lang.reflect.Method.invoke(Method.java:511)
09-05 14:37:30.691: W/System.err(1256): at android.view.View$1.onClick(View.java:3586)
09-05 14:37:30.701: W/System.err(1256): at android.view.View.performClick(View.java:4084)
09-05 14:37:30.701: W/System.err(1256): at android.view.View$PerformClick.run(View.java:16966)
09-05 14:37:30.711: W/System.err(1256): at android.os.Handler.handleCallback(Handler.java:615)
09-05 14:37:30.711: W/System.err(1256): at android.os.Handler.dispatchMessage(Handler.java:92)
09-05 14:37:30.720: W/System.err(1256): at android.os.Looper.loop(Looper.java:137)
09-05 14:37:30.720: W/System.err(1256): at android.app.ActivityThread.main(ActivityThread.java:4745)
09-05 14:37:30.731: W/System.err(1256): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 14:37:30.731: W/System.err(1256): at java.lang.reflect.Method.invoke(Method.java:511)
09-05 14:37:30.731: W/System.err(1256): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-05 14:37:30.741: W/System.err(1256): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-05 14:37:30.741: W/System.err(1256): at dalvik.system.NativeStart.main(Native Method)

如果有人知道该怎么做,请帮助我,谢谢大家。

最佳答案

调用方式:

 private void loginValidate()
{
String username, password;
username = _username.getText().toString();
password = _password.getText().toString();

if (username.equalsIgnoreCase("") && password.equalsIgnoreCase(""))
{
myToast("Please enter the uername and Password!!");
return;
}
if (isNetworkConnected())
{
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair(Central.USERNAME, username));
params.add(new BasicNameValuePair(Central.PASSWORD, password));
new LOGINREQUESTOR(Central.WS_LOGIN, params).execute();
} else
myToast("No Internet Connection!!!");

}


class LOGINREQUESTOR extends AsyncTask<String, Integer, String>
{

String URL;
List<NameValuePair> parameters;

private ProgressDialog pDialog;

public LOGINREQUESTOR(String url, List<NameValuePair> params)
{
this.URL = url;
this.parameters = params;
}

@Override
protected void onPreExecute()
{
pDialog = new ProgressDialog(LoginActivity.this);
pDialog.setMessage("Processing Request...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
super.onPreExecute();
}

@Override
protected String doInBackground(String... params)
{
try
{
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpEntity httpEntity = null;
HttpResponse httpResponse = null;

HttpPost httpPost = new HttpPost(URL);

if (parameters != null)
{
httpPost.setEntity(new UrlEncodedFormEntity(parameters));
}
httpResponse = httpClient.execute(httpPost);

httpEntity = httpResponse.getEntity();
return EntityUtils.toString(httpEntity);

} catch (Exception e)
{

}
return "";
}

@Override
protected void onPostExecute(String result)
{
pDialog.dismiss();

try
{
SQLDataHelper help = new SQLDataHelper(getApplicationContext());
JSONHelper helper = new JSONHelper();
Accounts loggedaccount = helper.getLoggedUser(result);

String res = loggedaccount.getLogin_responce();

if (res.equalsIgnoreCase("success"))
{

} else
{

myToast("Login Failed..");

}

} catch (Exception e)
{

}
super.onPostExecute(result);
}

}

关于java - Android 向服务器发送 JSON 身份验证并检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25688532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com