Сбой, когда OkHttp запрашивает неверные ссылки

В Typcript это понятие параметра Rest Parameter, это параметр, который получает несколько значений аналогичного типа. Если мы нацеливаем на машинописный текст, тогда нам нужно написать код ECMAScript 6 standard, тогда машинописный транспилятор преобразует его в эквивалентную java код сценария (который является стандартом ECMAScript 5). Если мы используем машинопись, мы должны использовать три точки (...) preferx с именем переменной restparameter, например, function sum (... numbers: number []), затем будет работать.

Примечание: параметр останова должен быть последним параметром в списке параметров. Например, сумма функции (имя: строка, возраст: число, ... числа: номер []).

1
задан 陈志坚 22 January 2019 в 06:39
поделиться

2 ответа

В принципе, вы можете избежать исключения, используя блок try catch

    private fun testing() {
        val request = Request.Builder()
        try {
            val httpUrl = HttpUrl.parse("http://pic1.nipic.com|/2008-12-30/200812308231244_2.jpg")?.uri()
            httpUrl?.let {
                request.url(it.toURL())
            }
        }catch (e: Exception) {
            Log.d("Testing", e.toString())
            return
        }


        val client = OkHttpClient.Builder().build()

        client.newCall(request.build()).enqueue(object: Callback {
            override fun onFailure(call: Call, e: IOException) {
                Log.d("Testing", e.toString())
            }

            override fun onResponse(call: Call, response: Response) {
                Log.d("Testing", response.body().toString())
            }
        })
    }
}

. Для получения дополнительной информации перейдите по ссылке ниже https://github.com/square/okhttp/issues/543

0
ответ дан miho39 22 January 2019 в 06:39
поделиться

Ну, это потому, что вы передали специальный символ в URL, который делает его поврежденным. Чтобы избежать сбоя, вы можете просто удалить специальные символы из URL перед выполнением кода:

url = url.replaceAll("[|?*<\":>+\\[\\]/']", "");
0
ответ дан Khalid Taha 22 January 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: