Java 如何使用JSOUP发布表单登录?

Java 如何使用JSOUP发布表单登录?,java,android,jsoup,Java,Android,Jsoup,我想登录到 下面是表单源 <form id="login-form" action="/login" method="post" autocomplete="off" class="pure-form pure-form-stacked login-form"> <label> Username <input name="username" type="text" class="pure-input-1" placeholde

我想登录到

下面是表单源

<form id="login-form" action="/login" method="post" autocomplete="off" class="pure-form pure-form-stacked login-form">
    <label>
        Username
        <input name="username" type="text" class="pure-input-1" placeholder="Username" value="" required="" autofocus="">
    </label>

    <label>
        Password
        <input name="password" type="password" class="pure-input-1" placeholder="Password" value="" required="">
    </label>
    <button type="submit" class="pure-button pure-button-primary">Login</button>
</form>
但当我启动应用程序并执行此方法时,我的应用程序就会关闭。 我猜它没有正确登录,我不知道该怎么做才能让它正常工作

您可以使用此用户名和密码登录
ID:保罗·金
密码:Dvjpp;[sddeptfdr,rdyrt1

它说这是由以下原因造成的:android.os.NetworkOnMainThreadException

请帮帮我。
谢谢

用这些方法给下面的班级打电话

    new AsyncCaller().execute();

 private class AsyncCaller extends AsyncTask<Void, Void, String>
    {
        ProgressDialog pdLoading = new ProgressDialog(AsyncExample.this);

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            //this method will be running on UI thread
            pdLoading.setMessage("Loading...");
            pdLoading.show();
        }
        @Override
        protected String doInBackground(Void... params) {

           String result= getString("your username","your password")


            return result;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
         pdLoading.dismiss();
        Toast.make(context,result,Toas.LENGTH_SHORT).show();
        }

        }
    }
newasyncCaller().execute();
私有类AsyncCaller扩展了AsyncTask
{
ProgressDialog pdLoading=新建ProgressDialog(AsyncExample.this);
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
//此方法将在UI线程上运行
setMessage(“正在加载…”);
pdLoading.show();
}
@凌驾
受保护字符串doInBackground(无效…参数){
String result=getString(“您的用户名”、“密码”)
返回结果;
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
pdLoading.disclose();
Toast.make(上下文、结果、Toas.LENGTH_SHORT).show();
}
}
}

使用以下方法在课堂下调用

    new AsyncCaller().execute();

 private class AsyncCaller extends AsyncTask<Void, Void, String>
    {
        ProgressDialog pdLoading = new ProgressDialog(AsyncExample.this);

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            //this method will be running on UI thread
            pdLoading.setMessage("Loading...");
            pdLoading.show();
        }
        @Override
        protected String doInBackground(Void... params) {

           String result= getString("your username","your password")


            return result;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
         pdLoading.dismiss();
        Toast.make(context,result,Toas.LENGTH_SHORT).show();
        }

        }
    }
newasyncCaller().execute();
私有类AsyncCaller扩展了AsyncTask
{
ProgressDialog pdLoading=新建ProgressDialog(AsyncExample.this);
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
//此方法将在UI线程上运行
setMessage(“正在加载…”);
pdLoading.show();
}
@凌驾
受保护字符串doInBackground(无效…参数){
String result=getString(“您的用户名”、“密码”)
返回结果;
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
pdLoading.disclose();
Toast.make(上下文、结果、Toas.LENGTH_SHORT).show();
}
}
}

试过这个吗?是的,我试过了。它对meDid不起作用。你试过谷歌android.os.NetworkOnMainThreadException吗?这比在SO上发帖要容易得多,而且与登录过程无关。@TDG是的。。很抱歉。我以为是我的登录导致了问题。我试过了。它对meDid不起作用。你试过吗y到google android.os.NetworkOnMainThreadException?这比在SO上发布问题要容易得多,而且它与登录过程无关。@TDG是的。。很抱歉。我以为是我的登录导致了问题。我尝试了它,但它仍然给我同样的错误谢谢!AsyncTask修复了我的问题欢迎快乐编码:)和之前发布任何问题在google中搜索您的异常,如“android.os.NetworkOnMainThreadException+stackoverflow”。您可能会在不发布新问题的情况下得到答案。这有助于消除stackoverflow中的冗余。我尝试过,但仍然会出现相同的错误谢谢!AsyncTask修复了我的问题欢迎快乐编码:)在发布任何问题之前,在google中搜索您的异常,如“android.os.NetworkOnMainThreadException+stackoverflow”。您可以在不发布新问题的情况下获得答案。这有助于消除Stackoverflow中的冗余