0

I need to find broken links in given website and display their Status Codes. I can check if website fails, because exceptions are thrown. But I can't get the status code. I've already checked these suggestions: Android code after httpclient.execute(httpget) doesn't get run in try (using AsyncTask) HttpClient get status code

I run AsyncTask.

Here's my AsyncTask variables:

private class WebPageDownloadTask extends AsyncTask<String, Void, String> {

        ProgressDialog pDialog;
        int statusCode;
        HttpResponse execute;

Here's my doInBackground:

@Override
            protected String doInBackground(String... urls) {
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(urls[0]);
            String response = "";
            try {
                execute = client.execute(httpGet);
                statusCode = execute.getStatusLine().getStatusCode();
                Log.d("test", statusCode + "");
                InputStream content = execute.getEntity().getContent();
                BufferedReader buffer = new BufferedReader(
                        new InputStreamReader(content));
                String s = "";
                while ((s = buffer.readLine()) != null) {
                    response += s;
                }
            } catch (HttpResponseException e) {
                e.printStackTrace();
                statusCode = execute.getStatusLine().getStatusCode();
                Log.d("test", statusCode + "");
            } catch (IOException e) {
                e.printStackTrace();
                statusCode = execute.getStatusLine().getStatusCode();
                Log.d("test", statusCode + "");
            }
            return response;
        }

If I give wrong internet address, execute.getStatusLine().getStatusCode() throws nullPointerException.

Community
  • 1
  • 1
Marius
  • 810
  • 7
  • 20

1 Answers1

1

Try this

HttpResponse httpResp = client.execute(response);
int code = httpResp.getStatusLine().getStatusCode();
Praveen Sharma
  • 4,326
  • 5
  • 25
  • 45