使用隧道的 okhttp 的 Android POST 映像

Android POST image with okhttp using a tunnel

提问人:hannes ach 提问时间:3/2/2023 更新时间:3/2/2023 访问量:29

问:

在Android上,我必须将图像发布到目标系统,而目标系统只能通过隧道访问。

目前,我将映像 A 推送到一个带有通往目标系统的隧道的系统,然后从那里我可以将其发布到目标系统 B enter image description here

现在我想使用 C 从 Android 直接发布到目标。 但是如何在 okhttp 中使用隧道建立与目标的连接?

这是我目前的尝试,但由于缺少隧道,我调整到无法访问的主机

// okHttp for
// curl -X POST -F "[email protected]" http://localhost:8888/imagerenderer/setImage?x=0&y=0
private fun postMultipart(imagePath: String): okhttp3.Response {
    val file = File(imagePath)
    val fileRequestBody = file.asRequestBody("image/jpeg".toMediaType())
    val requestBody = MultipartBody.Builder()
        .addFormDataPart("image", imagePath.substringAfterLast("/"), fileRequestBody)
        .build()

    val builder: Request.Builder = Request.Builder()
        .header("content-type", "application/json")
        .url("http://localhost:8888/imagerenderer/setImage?x=0&y=0")

    val request = builder
        .post(requestBody)
        .build()

    val client = buildClient()
    client.newCall(request).execute().use { response ->
        return response
    }
}

private fun buildClient(): OkHttpClient {
    val okClient = OkHttpClient.Builder()
    return okClient.build()
}
okhttp android 网络

评论


答: 暂无答案