Как отправить пакеты TCP в ИнтернетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как отправить пакеты TCP в Интернет

Сообщение Anonymous »

Я использую локальный прокси через Netty на Android. Через Nekobox запросы направляются в прокси, а затем я перемещаю их на сервер. На сервере они должны быть отправлены в Интернет, но независимо от того, что я пытаюсь, я просто получаю тайм -ауты.
Сервер написан в Kotlin.GET / HTTP/1.1
Host: cp.cloudflare.com
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip
< /code>
Я попытался формировать запросы с использованием okttp и java -розетков, и во всех случаях я просто получаю тайм -ауты.
Как я могу перенаправить запросы в Интернет?suspend fun forwardRequest(
destAddr: String,
destPort: Int,
payload: String
): ByteArray? {
val logging = HttpLoggingInterceptor().apply {
setLevel(HttpLoggingInterceptor.Level.BODY)
}
val client = OkHttpClient.Builder()
.addInterceptor(logging)
.build()
val url = if (destPort == 80) "http://$destAddr" else "http://$destAddr:$destPort"
val firstLine = payload.lines().first()
val method = firstLine.split(" ")[0]
val path = firstLine.split(" ")[1]

val requestBuilder = Request.Builder()
.url("$url$path")

payload.lines().drop(1).forEach { line ->
if (line.contains(":")) {
val (key, value) = line.split(":", limit = 2).map { it.trim() }
requestBuilder.addHeader(key, value)
}
}

val request = when (method) {
"GET" -> requestBuilder.get().build()
else -> throw IllegalArgumentException("Unsupported method: $method")
}

try {
client.newCall(request).execute().use { response ->
return response.body.bytes()
}
} catch (e: SocketTimeoutException){
println(e.printStackTrace())
}
return null
}
< /code>
журналы: < /p>
Sept 17, 2025 10:02:01 PM okhttp3.internal.platform.Platform log
INFO: --> GET http://cp.cloudflare.com/
Sept 17, 2025 10:02:01 PM okhttp3.internal.platform.Platform log
INFO: Host: cp.cloudflare.com
Sept 17, 2025 10:02:01 PM okhttp3.internal.platform.Platform log
INFO: User-Agent: Go-http-client/1.1
Sept 17, 2025 10:02:01 PM okhttp3.internal.platform.Platform log
INFO: Accept-Encoding: gzip
Sept 17, 2025 10:02:01 PM okhttp3.internal.platform.Platform log
INFO: --> END GET
Sept 17, 2025 10:02:11 PM okhttp3.internal.platform.Platform log
INFO:

Подробнее здесь: https://stackoverflow.com/questions/797 ... o-internet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»