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 нь формын төгсгөлийн цэг хэвээр байна. Динамик формын утгуудын хувьд escape хийгээгүй оролтыг тэнцүү тэмдэг болон амперсандаар холбохын оронд URLEncoder ашиглан утга бүрийг кодлох хэрэгтэй.

Гаралтын урсгал нь бэлтгэсэн байтуудыг илгээнэ. Бичиж, хаасны дараа төлөвийг уншаад, шаардлагатай бол ердийн эсвэл алдааны хариу урсгалыг сонгоно. Амжилтгүй HTTP хариу нь програмын эсвэл проксигийн ашигтай алдааны агуулгыг агуулж болно.

Холбоотой нийтлэлүүд