Я использую этот веб-сайт. Я уже вошел в систему с этими учетными данными email:teacher@gmail.com пароль: tttt Я получил файлы cookie и сохранил их в своем приложении ... но всякий раз, когда я пытаюсь добавить новый тип экзамена, я получал ошибку получение исключения URL-адреса Я использую Jsoup
вот код
private fun addExam() {
Log.d(TAG, "addExam: -----------------------")
try{
val addExamResponse=Jsoup.connect(getString(R.string.addExamUrl))
.method(Connection.Method.GET)
.userAgent("Mozilla")
.cookies(Common.sessionCookies)
.execute()
val document=addExamResponse.parse()
Log.d(TAG, "addExam: ------------------------------------------")
val authToken:String=document.select("input[name=__RequestVerificationToken]").first().attr("value")
Log.d(TAG, "addExam: ************************** ${addExamResponse.url()}")
val formData: HashMap<String, String> = HashMap()
formData["utf8"] = "e2 9c 93"
formData["ExamTypeName"]=examType.text.toString()
formData["Description"]=examDesc.text.toString()
formData["__RequestVerificationToken"] = authToken
//Log.d(TAG, "addExam: ----------------------------${Common.sessionCookies}--------------------")
val examListPage = Jsoup.connect(getString(R.string.addExamUrl))
.data(formData)
.method(Connection.Method.POST)
.userAgent("Mozilla")
.cookies(Common.sessionCookies)
.execute()
Log.d(TAG, "getData: --------------------------------${examListPage.url()}")
if (examListPage.url().toString().toLowerCase(Locale.ROOT).contains("teacher")){
runOnUiThread {
progressBar.hide()
}
startActivity(Intent(this,HomeActivity::class.java))
finish()
}
else{
runOnUiThread {
Toast.makeText(this,"Something went wrong!!",Toast.LENGTH_LONG).show()
}
}
}
catch (e:IOException){
Log.d(TAG, "addExam: -------------------------IO EXCEPTION---------------------${e.message}")
}
}
Без попытки поймать и вылетает приложение с этим исключением. Трассировка стека ::
E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1
Process: com.example.e_learninghub, PID: 10508
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=500, URL=http://elearninghub.somee.com/Exam/AddExamType
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:682)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:629)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:261)
at com.example.e_learninghub.NewExamActivity.addExam(NewExamActivity.kt:65)
at com.example.e_learninghub.NewExamActivity.access$addExam(NewExamActivity.kt:19)
at com.example.e_learninghub.NewExamActivity$addExamType$1.invokeSuspend(NewExamActivity.kt:35)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask$DefaultImpls.run(Dispatched.kt:235)
at kotlinx.coroutines.DispatchedContinuation.run(Dispatched.kt:81)
at kotlinx.coroutines.scheduling.Task.run(Tasks.kt:94)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:732)