openConnection(proxy) қосылымды маршрутпен құрады. Сұранысты бастамас бұрын қайтарылған HttpURLConnection-ке HTTP әдісін және денені орнатыңыз:

Proxy route = new Proxy(Proxy.Type.HTTP,
    new InetSocketAddress("proxy.example", 8080));
HttpURLConnection connection = (HttpURLConnection)
    URI.create("http://www.example.com/submit").toURL().openConnection(route);

try {
    connection.setConnectTimeout(5000);
    connection.setReadTimeout(15000);
    connection.setRequestMethod("POST");
    connection.setDoOutput(true);
    connection.setRequestProperty("Content-Type",
        "application/x-www-form-urlencoded; charset=UTF-8");

    byte[] form = "message=hello+proxy".getBytes(StandardCharsets.UTF_8);
    try (OutputStream out = connection.getOutputStream()) {
        out.write(form);
    }

    int status = connection.getResponseCode();
    System.out.println(status);
    InputStream response = status >= 400
        ? connection.getErrorStream() : connection.getInputStream();
    if (response != null) response.close();
} finally {
    connection.disconnect();
}

Мысал шағын форманы жібереді, оның күйін басып шығарады және пайдаланылмаған жауап ағынын жабады. Дене қажет болғанда, осы соңғы қадамды қолданбаның жауап денесін өңдеуімен ауыстырыңыз.

Проксидің хост атауы мен порты route-ке жатады. Прокси тіркелгісіз рұқсат етілген жалпыға ортақ форма сынағы үшін HTTP прокси тізіміндегі жазбадан HTTP мекенжайын таңдаңыз. URL форманың соңғы нүктесі болып қалады. Динамикалық форма мәндері үшін әр мәнді URLEncoder көмегімен кодтаңыз, экрандалмаған кірісті теңдік және амперсанд белгілерімен біріктірмеңіз.

Шығыс ағыны дайындалған байттарды жібереді. Жазғаннан және жапқаннан кейін күйді оқыңыз, содан кейін қажеттілікке қарай әдеттегі немесе қате жауап ағынын таңдаңыз. Сәтсіз HTTP жауабында қолданбаның немесе проксидің пайдалы қате мазмұны болуы мүмкін.

Қатысты мақалалар