@light___soul
Full Stack Middle Web Developer

POST запрос на закрытое API (has been blocked by CORS policy)??

Есть возможность подключится к закрытому API?
Ресурс принимает запросы только со своего адреса, как это можно обойти?
Изменить заголовки запроса?

Возможна реализация на Java или kotlin
kotlin

fun test(): Any? {

        var link = "http://index.php"

        val url = URL(link)

        val con = url.openConnection() as HttpURLConnection
        con.requestMethod = "POST"
        con.setRequestProperty("Content-Type", "application/json")

        con.doOutput = true

        val out = DataOutputStream(con.outputStream)
        out.writeBytes("q=preschool")
        out.flush()
        out.close()

        BufferedReader(InputStreamReader(con.inputStream)).use {
            val response = StringBuffer()

            var inputLine = it.readLine()
            while (inputLine != null) {
                response.append(inputLine)
                inputLine = it.readLine()
            }
            it.close()
            println("Response : $response")
            return response
        }
    }

  • Вопрос задан
  • 119 просмотров
Решения вопроса 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ЕМНИП, CORS влияет только на запросы из браузеров. Бэкэнд при этом должен работать с API без проблем.
Ответ написан
Комментировать
@antonwx
принимает запросы только со своего адреса

Только со своего IP? Тогда никак, либо как-то проксировать запросы. Если же под своим адресом понимается адрес сайта, то подменяйте заголовок http referer.
Ответ написан
@light___soul Автор вопроса
Full Stack Middle Web Developer
Добавил
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
        con.addRequestProperty("Host", "????")
        con.addRequestProperty("Origin", "????")
        con.addRequestProperty("Referer", "????")
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы