HttpURLConnection con = null;
Response response = new Response();
String TAG = \"HttpConHandler\";
try{
/*
* IMPORT
This may work:
URL url = new URL(urlStr);
con = (HttpURLConnection) url.openConnection();
con.setDoOutput(true);
con.setRequestProperty("Authorization", q);
con.setRequestProperty("GData-Version", "3.0");
Please check this URL from Google : http://developer.android.com/reference/java/net/HttpURLConnection.html
It is ok to use the openConnection()
method before setting your headers. Here are the steps from the documentation:
setDoOutput(true)
if they include a request body. Transmit data by writing to the stream returned by getOutputStream()
.getInputStream()
. If the response has no body, that method returns an empty stream.HttpURLConnection
should be closed by calling disconnect()
. Disconnecting releases the resources held by a connection so they may be closed or reused.However if the problem persists you can either try to debug you code and check the connection.connected private flag to see where it becomes true; I've experienced a similar problem after making a call to the getContentType()
method.
Otherwise you can just switch to HttpClient API:
HttpClient httpclient = new DefaultHttpClient();
// Prepare a request object
HttpGet httpget = new HttpGet(url);
// Execute the request
HttpResponse response;
try {
response = httpclient.execute(httpget);
....
Don't use URL's convenience method, either use an HttpURLConnection or other library.