Проверить, если страница существует

Приведенный ниже пример показывает способ проверить веб-страницу, существует или нет.


import java.net.*;

import java.io.*;



public class Check {



public static void main(String s[]) {

    System.out.println(exists("http://www.javist.ru/home/"));

    System.out.println(exists("http://www.javist.ru/homeless/"));

   }



static boolean exists(String URLName){

  try {

    HttpURLConnection.setFollowRedirects(false);

    // note : you may also need

    //        HttpURLConnection.setInstanceFollowRedirects(false)

    HttpURLConnection con =

       (HttpURLConnectionnew URL(URLName).openConnection();

    con.setRequestMethod("HEAD");

    return (con.getResponseCode() == HttpURLConnection.HTTP_OK);

    }

  catch (Exception e) {

       e.printStackTrace();

       return false;

       }

  }

}

Ниже делать то же самое, но на этот раз мы отождествляем ourself для прокси-сервера.


import java.net.*;

import java.io.*;

import java.net.*;

import java.util.Properties;



public class CheckUrl {



public static void main(String s[]) {

    new CheckUrl().doit();

   }



public void doit() {

    System.out.println(exists("http://www.rgagnon.com"));

    System.out.println(exists("http://www.yahoo.com"));

}





public boolean exists(String URLName){

  try {



    Properties systemSettings = System.getProperties();

    systemSettings.put("proxySet""true");

    systemSettings.put("http.proxyHost","proxy.mycompany.local";

    systemSettings.put("http.proxyPort""80";



    URL u = new URL(URLName);

    HttpURLConnection con = (HttpURLConnectionu.openConnection();

    sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();

    String encodedUserPwd =

         encoder.encode("domain\\username:password".getBytes());

    con.setRequestProperty

         ("Proxy-Authorization""Basic " + encodedUserPwd);

    con.setRequestMethod("HEAD");

    System.out.println

         (con.getResponseCode() " : " + con.getResponseMessage());

    return (con.getResponseCode() == HttpURLConnection.HTTP_OK);

    }

  catch (Exception e) {

       e.printStackTrace();

       return false;

       }

  }

 }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>