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 جواب میں ایپلیکیشن یا پراکسی کی مفید خرابی کا مواد ہو سکتا ہے۔

متعلقہ مضامین