Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet *. php kiterjeszt...

Kerachi kérdése:

Hogyan lehet *. php kiterjesztésű képet kezelni Java-ban?

Figyelt kérdés

Í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());

}

}



2016. máj. 17. 13:27
1 2
 1/17 anonim ***** válasza:
A kép kiterjesztése nem php. Az oldal kiterjesztése php, ami lekéri a szerverről a képet :D
2016. máj. 17. 13:29
Hasznos számodra ez a válasz?
 2/17 A kérdező kommentje:

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.

2016. máj. 17. 13:59
 3/17 anonim ***** válasza:
Én nem látom a kódodban hogy bejelentkeznél.. Sütik és useragent nem kell? Biztos hogy képet dob vissza a php és nem egy hibát?
2016. máj. 17. 14:24
Hasznos számodra ez a válasz?
 4/17 anonim ***** válasza:
Nem, a php még mindig nem kép, hanem egy szerver oldali script, ezért is nem tudod képként megnyitni.
2016. máj. 17. 14:25
Hasznos számodra ez a válasz?
 5/17 anonim ***** válasza:
A php egy PNG adatfolyamot dob vissza ha bejelentkezel, a kód ilyen szempontból jó. Olyan szempontból valószínűleg nem hogy nem jut el a bejelentkezésig.
2016. máj. 17. 14:38
Hasznos számodra ez a válasz?
 6/17 anonim ***** válasza:

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.

2016. máj. 17. 14:43
Hasznos számodra ez a válasz?
 7/17 anonim ***** válasza:

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

2016. máj. 17. 15:02
Hasznos számodra ez a válasz?
 8/17 anonim ***** válasza:
mentsd le és nevezd át, utána töltsd be már helyben, pl. temp -ből.
2016. máj. 17. 15:43
Hasznos számodra ez a válasz?
 9/17 A kérdező kommentje:

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 ...)

2016. máj. 18. 12:44
 10/17 anonim ***** válasza:

> 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.

2016. máj. 18. 12:47
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!