Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between URL.openConnection() and URLConnection.connect()?

In the code:

HttpURLConnection connection = (HttpURLConnection)createMerchURL.openConnection();
connection.setRequestMethod("PUT");
connection.addRequestProperty("Name", "Value1");

connection.connect();

..
connection.disconnect();
  • When is the connection getting opened actually? At ..createMerchURL.openConnection(); ? or at connection.connect();?

  • How can I set URL in the connection Object and use it with connection.connect()?(as I am less comfortable with .openConnection())

Finally, is there any difference between the two?

Thanks..

like image 748
beerBear Avatar asked Apr 03 '13 08:04

beerBear


2 Answers

When is the connection getting opened actually? At ..createMerchURL.openConnection(); ? or at connection.connect();?

The latter. The former just parses the URL, finds the protocol, and creates the HttpURLConnection object.

How can I set URL in the connection Object

You can't.

and use it with connection.connect()?

You can't.

(as I am less comfortable with .openConnection())

Bad luck: get comfy with it.

like image 54
user207421 Avatar answered Sep 28 '22 16:09

user207421


connection.connect() is not required. Operations that depend on being connected, like getContentLength(), getResponseCode() will implicitly perform the connection if necessary.

Source: Java Docs

like image 38
Anirudha Avatar answered Sep 28 '22 16:09

Anirudha