iOS aplikazio baten HTTPS eskaera arruntak arazketa-proxy batean ager daitezke, baina haren WebSocket trafikoa falta da. Identifikatu lehenik WebSocket garraioa: URLSessionWebSocketTask-ek saio-mailako proxy konfigurazioa erabil dezake, eta bere socketak irekitzen dituen liburutegi batek bere integrazio onartua behar du. iOS 17+ sistemetan Network.framework konexio gordin baterako, konfiguratu NWConnection-en proxy testuinguru propioa.

iOS 17 edo berriagoan, sortu saioa SOCKSv5 proxy esplizitu batekin:

import Foundation
import Network

@available(iOS 17.0, *)
func makeDebugSession() -> URLSession {
    let configuration = URLSessionConfiguration.default
    let endpoint = NWEndpoint.hostPort(
        host: "192.0.2.10", port: 8889)
    configuration.proxyConfigurations = [
        ProxyConfiguration(socksv5Proxy: endpoint)
    ]
    return URLSession(configuration: configuration)
}

Ordeztu dokumentazioko helbidea eta portua lehendik dagoen arazketa-proxyaren SOCKS entzule eskuragarriarekin. Gaitu entzule hori proxy aplikazioan. Haren HTTP entzulea beste portu batean egon daiteke.

Sortu webSocketTask itzulitako saiotik. Beste URLSession baten bidez sortutako atazak ez du saio honen gainidazketa heredatzen. proxyConfigurations array hutsak sistemaren lehenespenak erabiltzen ditu; ez da bide zuzenaren hautapen esplizitua.

Irisgarritasuna eta mezu irakurgarriak mugarri bereiziak dira

Telefono fisiko batek arazketa-konputagailura iristen den helbide bat behar du. Telefono horretan, 127.0.0.1-k telefonoa bera izendatzen du. Egiaztatu entzulearen interfazea eta proxyaren bezero-sarbide baimendua konexioa inoiz hara iristen ez denean.

SOCKS bide batek konexioa garraiatzen du. wss edukia irakurtzeko, gainera, arazketa-tresnaren TLS ikuskapen ezarpena eta gailuan konfiantza egokia behar dira. Ziurtagirien finkapenak edo TLS inplementazio bereizi batek ikuskapen hori eragotz dezakete trafikoa entzulera iristen denean ere.

Bilatu WebSocket elkartrukea eta mezuak konexioa ezarri ondoren. Socket.IO aplikazio baten inkesta-eskaera bakarra ikusteak ez du frogatzen haren ondorengo WebSocket garraioak bide bera erabili zuenik. Mantendu arazketa-konfigurazio esplizitu hau aplikazioaren aurreikusitako garapen-ingurunean.

Erlazionatutako artikuluak