HttpURLConnection setFixedLengthStreamingMode(int) in Java

setFixedLengthStreamingMode(int): This method is available in the java.net.HttpURLConnection class of Java.

Syntax:

void java.net.HttpURLConnection.setFixedLengthStreamingMode(int contentLength)

This method takes one argument. This method is used to enable the streaming of an HTTP request body without internal buffering when the content length is known in advance.

An exception will be thrown if the application attempts to write more data than the indicated content length, or if the application closes the OutputStreambefore writing the indicated amount.

Parameters: One parameter is required for this method.

contentLength: The number of bytes that will be written to the OutputStream.

Returns: NA

Throws:

1. IllegalStateException - if URLConnection is already connected or if a different streaming mode is already enabled.

2. IllegalArgumentException - if a content length less than zero is specified.

Approach 1: When no exception

Java

package com.HttpURLConnection;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpURLConnectionsetFixedLengthStreamingMode {
    public static void main(String[] args) throws IOException {
        URL url =
new URL("https://beingcodeexpert.blogspot.com/");
        HttpURLConnection httpURLConnection =
(HttpURLConnection) url.openConnection();

        int contextLength = 4;
        httpURLConnection.setFixedLengthStreamingMode(contextLength);
        System.out.println("Successfully setFixedLengthStreamingMode");

    }
}

Output:

Successfully setFixedLengthStreamingMode


Approach 2: IllegalArgumentException 

Java

package com.HttpURLConnection;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpURLConnectionsetFixedLengthStreamingMode {
    public static void main(String[] args) throws IOException {
        URL url =
new URL("https://beingcodeexpert.blogspot.com/");
        HttpURLConnection httpURLConnection =
(HttpURLConnection) url.openConnection();

        int contextLength = -4;
        httpURLConnection.setFixedLengthStreamingMode(contextLength);
        System.out.println("Successfully setFixedLengthStreamingMode");

    }
}

Output:

Exception in thread "main" java.lang.IllegalArgumentException: invalid content length at java.base/java.net.HttpURLConnection.setFixedLengthStreamingMode(HttpURLConnection.java:208) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.setFixedLengthStreamingMode(HttpsURLConnectionImpl.java:490) at com.HttpURLConnection.HttpURLConnectionsetFixedLengthStreamingMode.main(HttpURLConnectionsetFixedLengthStreamingMode.java:13)


Some other methods of HttpURLConnection

HttpURLConnection Status CodeSome of the status codes of HttpURLConnection. example HttpURLConnection.HTTP_ACCEPTED, HttpURLConnection.HTTP_BAD_GATEWAY, etc.

disconnect()This method indicates that other requests to the server are unlikely in the near future.

getErrorStream()This method returns the error stream if the connection failed but the server sent useful data nonetheless.

HttpURLConnection.getFollowRedirects()This method returns a boolean indicating whether or not HTTP redirects (3xx) should be automatically followed.

getHeaderField(int)This method returns the value for the nth header field.

getHeaderFieldDate(String, long)This method Returns the value of the named field parsed as a date. The result is the number of milliseconds since January 1, 1970, GMT represented by the named field.

getHeaderFieldKey(int)This method returns the key for the nth header field.

getInstanceFollowRedirects()This method returns the value of this HttpURLConnection instanceFollowRedirects field.

getPermission()This method returns a SocketPermission object representing the permission necessary to connect to the destination host and port.

getRequestMethod()This method gets the request method.

getResponseCode()This method gets the status code from an HTTP response message.

getResponseMessage()This method gets the HTTP response message, if any, returned along with the response code from a server.

setAuthenticator(Authenticator)This method supplies an Authenticator to be used when authentication is requested through the HTTP protocol for this HttpURLConnection.If no authenticator is supplied, the default authenticator will be used.

setChunkedStreamingMode(int)This method is used to enable the streaming of an HTTP request body without internal buffering when the content length is not known in advance.

setFixedLengthStreamingMode(int)This method is used to enable the streaming of an HTTP request body without internal buffering when the content length is known in advance.

setFixedLengthStreamingMode(long)This method is used to enable the streaming of an HTTP request body without internal buffering when the content length is known in advance.

HttpURLConnection.setFollowRedirects(boolean)This method sets whether HTTP redirects (requests with response code 3xx) should be automatically followed by this class.

setInstanceFollowRedirects(boolean)This method sets whether HTTP redirects (requests with response code 3xx) should be automatically followed by this HttpURLConnection instance.

setRequestMethod(String)This method sets the method for the URL request, as one of •GET •POST •HEAD •OPTIONS •PUT •DELETE •TRACE are legal, subject to protocol restrictions.

usingProxy()This method indicates if the connection is going through a proxy.

No comments:

Post a Comment