Hogyan lehet *. php kiterjesztésű képet kezelni Java-ban?
Írtam egy olyan programot ami bejelentkezik egy weboldalba és letölt egy képet, csakhogy a kép kiterjesztése .php amitől meghal a BufferedImage. Mit lehetne ezzel kezdeni?
A hibát okozó programrész:
private void GetImage(String path, int x,int y, int w,int h){
try{
URL url = new URL(path);
System.out.println(ImageIO.read(url));
BufferedImage image = ImageIO.read(url);
JLabel label = new JLabel(new ImageIcon(image));
add(label);
pack();
label.setBounds(x,y,w,h);
label.setLayout(null);
}catch (Exception e){
e.printStackTrace();
System.out.println("Picture is missing.\nError: "+e.getMessage());
}
}
De a kép kiterjesztése a php.
Pontosabban ez: [link]
De ehhez be kell jelentkezned azt hiszem.De maga a captcha1.php a kép.
El kéne küldeni a cookie-kat, amiket a login form elküldése után megkaptál.
Javasolnám a Jsoup használatát, picit egyszerűsítené az életed. Nem csak HTML parszer, hanem baromi könnyen használható HTTP kliens is.
Kipróbáltam, még csak UserAgent sem kell. A [link] -nak küld el POST metódussal a bejelentkezési infókat, tárold a sütit amit kapsz és sütikkel együtt kér le a képet:
$ curl -c cookie.txt -d "username=nev&password=jelszo" [link] &>/dev/null
$ curl -b cookie.txt [link] >response.png
$ file response.png
response.png: PNG image data, 450 x 40, 8-bit/color RGB, non-interlaced
2. válaszadó:"Én nem látom a kódodban hogy bejelentkeznél.." mer elvileg az működik és nem az dob hibát. De ha kell akkor itt van a kódom: [link]
és igen hibák: [link]
3. válaszadó: Jó gondoltam, de ezzel nem segítettél...
4. válaszadó:De, eljut.
5. válaszadó: Nekem nincs olyan függvénykönyvtáram, hogy Jsoup, gondolom anélkül is meglehet csinálni, csak nem tudom hogy.
6. válaszadó: Jó ötlet, de az a kód nem Javában van, hanem cURL-ben. Nekem ugyanez kéne Javában.
H.Tibor87: "mentsd le" résznél már meghal a kódom.
Amúgy ez az első Java programom szóval elégé béna vagyok benne.
(A *='' csak mer nem enged linket küldeni ez a ...)
> Nekem nincs olyan függvénykönyvtáram, hogy Jsoup, gondolom anélkül is meglehet csinálni, csak nem tudom hogy.
Anélkül is meg lehet csinálni, persze, csak sokkal macerásabb, mint hozzáadni a Jsoup-ot a classpath-hoz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!