Re[2]: perl и header_out

deniswork at uzvik.kiev.ua deniswork at uzvik.kiev.ua
Sun Dec 9 23:32:15 MSK 2007


> Из перла нужно делать как раз $r->internal_redirect().
> X-Accel-Redirect работает только в proxy и fastcgi, делает
> именно internal_redirect().

Спасибо!

Подскажите как правильно передать хедеры,
Почему хедери посылаються как файл?


sub dl {
    my $r = shift;

    $r->send_http_header;

    $r->header_out("Content-type", "application/octet-stream; charset=cp1251");
    $r->header_out("Content-Disposition", "attachment; filename=\"file.txt\"\n");
    $r->header_out("X-Accel-Limit-Rate","16384\n\n");

    $r->internal_redirect("/dl/file.tx");
    return OK;
}

На выходе получаем:

$ wget -S http://xxx
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: nginx/0.5.33
  Date: Sun, 09 Dec 2007 20:35:38 GMT
  Content-Type: application/x-rar-compressed
  Connection: close
Length: unspecified [application/x-rar-compressed]

    [ <=>                                                                              ] 4,123,916     --.--K/s

22:35:38 (72.91 MB/s) - `file.txt' saved [4123916]

А потом
$ cat  file.txt

HTTP/1.1 200 OK
Server: nginx/0.5.33
Date: Sun, 09 Dec 2007 20:35:38 GMT
Content-Type: application/x-rar-compressed
Content-Length: 4123542
Last-Modified: Thu, 08 Nov 2007 02:02:10 GMT
Connection: close
Content-type: application/octet-stream; charset=cp1251
Content-Disposition: attachment; filename="file.txt"

X-Accel-Limit-Rate: 16384


Accept-Ranges: bytes

---file_content_here--







More information about the nginx-ru mailing list