Avatar billede hacked Nybegynder
19. marts 2005 - 13:21 Der er 10 kommentarer og
1 løsning

Hente data fra en url

Ey alle - nogle der kan hjælpe? :)
Hvorfor får jeg en java.io.FileNotFoundException når jeg prøver at hente data fra denne url (politikens forside): "http://politiken.dk/VisArtikel.iasp?PageID=1" og hvordan løser jeg dette?
Har desuden prøvet at tilføje/ændre følgende www., pol (for politiken), http://www.politiken.dk ect - det hjælper bare ikke.

kode:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;

public class Test
{
  public static void main(String args[])
  {
    try {
        URL url = new URL("http://politiken.dk/VisArtikel.iasp?PageID=1");
        InputStream is = url.openStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        String temp = br.readLine();
        while (temp!=null)
        {
          System.out.println(temp);
          temp = br.readLine();
        }
        is.close();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
}
Avatar billede kalp Novice
19. marts 2005 - 13:33 #1
import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {
    URL is = new URL("http://politiken.dk/VisArtikel.iasp?PageID=1");
    BufferedReader in = new BufferedReader(
                new InputStreamReader(
                is.openStream()));

    String inputLine;

    while ((inputLine = in.readLine()) != null)
        System.out.println(inputLine);

    in.close();
    }
}

hvad med den?
Avatar billede arne_v Ekspert
19. marts 2005 - 13:40 #2
Poltiken er tilsyneladende en af de sites som teste for browser !

Fy fy skamme skamme til dem.

Det her program virker:

import java.net.*;
import java.io.*;

public class Pol {
  public static void main(String[] args) {
      try {
        URL url = new URL("http://politiken.dk/VisArtikel.iasp?PageID=1");
        HttpURLConnection con = (HttpURLConnection)url.openConnection();
        con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
        con.connect();
        if(con.getResponseCode() == HttpURLConnection.HTTP_OK) {
            InputStream is = con.getInputStream();
            byte[] b = new byte[1000];
            int n;
            while((n = is.read(b)) >= 0) {
              System.out.println(new String(b,0,n));
            }
            is.close();
        } else {
            System.out.println(con.getResponseCode() + " " + con.getResponseMessage());
        }
        con.disconnect();
      } catch (MalformedURLException e) {
        e.printStackTrace();
      } catch (FileNotFoundException e) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
      }
  }
}
Avatar billede arne_v Ekspert
19. marts 2005 - 13:40 #3
Og det er den her linie som gør det:

con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");

[den bilder dem ind at man kører Internet Explorer 5.01 på Windows 2000]
Avatar billede hacked Nybegynder
19. marts 2005 - 13:42 #4
kanont tak arne - hvordan giver jeg dig point? :)
Avatar billede kalp Novice
19. marts 2005 - 13:43 #5
hehe hvor er De sjove:o)
Avatar billede arne_v Ekspert
19. marts 2005 - 13:43 #6
jeg ligger et svar
Avatar billede soreno Praktikant
19. marts 2005 - 13:44 #7
Jeg tror at problemet er at politiken.dk ikke tillader user-agents som ligner:
Java/1.5.0_01

hvilket er den som openStream sender med i min version af JDK'en.
Avatar billede hacked Nybegynder
19. marts 2005 - 13:44 #8
takker
Avatar billede soreno Praktikant
19. marts 2005 - 13:44 #9
Ok, indrømmet - der var jeg ikke så hurtig i betrækket.
:-)
Avatar billede hacked Nybegynder
19. marts 2005 - 13:46 #10
hmm har trykket accepter men der står stadig accepter og afvis ??
Avatar billede hacked Nybegynder
19. marts 2005 - 13:46 #11
nej nu forsvandt det :) - tak til alle
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester