emptygif
زبان: فارسی

همه زبان‌ها و فریم‌ورک‌ها

Java standard library (com.sun.net.httpserver) Java

قطعه‌کد Java برای Java standard library (com.sun.net.httpserver) که به درخواست‌های /pixel.gif با GIF خالی پاسخ می‌دهد؛ GIF فقط یک‌بار هنگام راه‌اندازی دیکود می‌شود.

Java standard library (com.sun.net.httpserver) Java

فایل
Pixel.java
اجرا
java Pixel.java
import com.sun.net.httpserver.HttpServer;
import java.net.InetSocketAddress;
import java.util.Base64;

public class Pixel {

    private static final byte[] GIF = Base64.getDecoder().decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
        server.createContext("/pixel.gif", exchange -> {
            // Contexts match by prefix, so check for the exact path.
            if (!exchange.getRequestURI().getPath().equals("/pixel.gif")) {
                exchange.sendResponseHeaders(404, -1);
                exchange.close();
                return;
            }
            exchange.getResponseHeaders().set("Content-Type", "image/gif");
            exchange.getResponseHeaders().set("Cache-Control", "no-store");
            exchange.sendResponseHeaders(200, GIF.length);
            try (var body = exchange.getResponseBody()) {
                body.write(GIF);
            }
        });
        server.start();
    }
}

این قطعه‌کد را اجرا کردیم و بایت‌هایی را که برگرداند مقایسه کردیم.

بررسی

curl -sI http://localhost:8080/pixel.gif

سایت رسمی: Java standard library (com.sun.net.httpserver)

موارد بیشتر در Java