HTTP szerver által küldött kép protokoll formátuma
Sziasztok!
Segítséget kérnék abban, hogy írtam egy alkalmazás részeként olyan programot(spéci szerver), mely lekezeli a HTTP kéréseket oly formában, ahogy az nekem kell, és visszaküldi amit akarok.
Egyet nem tudok megoldani, a kép kérésre a megfelelő pl.JPG,BMP,..visszaküldését,vagyis erre a korrekt választ:
GET /libr/picture/xxx.JPG HTTP/1.1
Accept *.*
Referer http://server
Accept/Langu........
....................
Aki tud segítsen, milyen formátumban, körítéssel, fejléccel, stb kell visszaküldeni a képet.Próbálkozásaim esetén a cliensen a kép mindíg üres kerettel jelenik meg.
A probléma szerver oldali.A kliens kérésére
ÉN összeállítom a választ egy programommal, ami tartalmazza természetesen azt a fejlécet, ami a MIME tipust is leírja. Elküldöm,visszaküldöm a GET kérésre a fejlécet(mikor, kitől, MIME tipus,stb..) a kliensnek:
HTTP/1.1 200 OK
Server: XXXXServer
Date: Sun, 07 Nov 2004 22:54:25 GMT
Connection: close
Content-type: image/jpeg
Content-Length: 60000
Accept-Ranges: bytes
name="/libr/picture/xxx.JPG"
binárisan a JPG file
utána a mondjuk JPG file-t binárisan. És a kliens(Explorer) oldalon nem értelmeződik, kép nem jelenik meg. Ennek a precíz protokolljára lennék kíváncsi,például mit kell a fejléc és a binárisan küldött kép közé tenni(lf,return???????stb) és a végén lezárni valamivel??????VAgy a képet kell máshogy, speciálisan küldeni???
A kliens más esetben megérti elküldött fejléceimet,HTML lapjaimat, csak a kép nem megy vissza.
Köszi
■ Segítséget kérnék abban, hogy írtam egy alkalmazás részeként olyan programot(spéci szerver), mely lekezeli a HTTP kéréseket oly formában, ahogy az nekem kell, és visszaküldi amit akarok.
Egyet nem tudok megoldani, a kép kérésre a megfelelő pl.JPG,BMP,..visszaküldését,vagyis erre a korrekt választ:
GET /libr/picture/xxx.JPG HTTP/1.1
Accept *.*
Referer http://server
Accept/Langu........
....................
Aki tud segítsen, milyen formátumban, körítéssel, fejléccel, stb kell visszaküldeni a képet.Próbálkozásaim esetén a cliensen a kép mindíg üres kerettel jelenik meg.
A probléma szerver oldali.A kliens kérésére
ÉN összeállítom a választ egy programommal, ami tartalmazza természetesen azt a fejlécet, ami a MIME tipust is leírja. Elküldöm,visszaküldöm a GET kérésre a fejlécet(mikor, kitől, MIME tipus,stb..) a kliensnek:
HTTP/1.1 200 OK
Server: XXXXServer
Date: Sun, 07 Nov 2004 22:54:25 GMT
Connection: close
Content-type: image/jpeg
Content-Length: 60000
Accept-Ranges: bytes
name="/libr/picture/xxx.JPG"
binárisan a JPG file
utána a mondjuk JPG file-t binárisan. És a kliens(Explorer) oldalon nem értelmeződik, kép nem jelenik meg. Ennek a precíz protokolljára lennék kíváncsi,például mit kell a fejléc és a binárisan küldött kép közé tenni(lf,return???????stb) és a végén lezárni valamivel??????VAgy a képet kell máshogy, speciálisan küldeni???
A kliens más esetben megérti elküldött fejléceimet,HTML lapjaimat, csak a kép nem megy vissza.
Köszi
php manual:
<?php
// open the file in a binary mode
$name = ".\public\dev\img\ok.png";
$fp = fopen($name, 'rb');
// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// dump the picture and stop the script
fpassthru($fp);
exit;
?>
lehet hogy az előbb rosszul
mert akkor az ethereal a te barátod :)
emlékeim szerint nincs "name" header,
viszont a header és a tartalom között van egy üres sor.
de mondom legjobban akkor jársz ha megnézed hogy' csinálja az apache.
köszönöm