Я использую локальный прокси через 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
Как отправить пакеты TCP в Интернет ⇐ Android
Форум для тех, кто программирует под Android
1758135995
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:
Подробнее здесь: [url]https://stackoverflow.com/questions/79767599/how-to-send-tcp-packets-to-internet[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия