in reply to LWP::Curl and character encoding

Unfortunately, I can't tell the type from the file name, as some files are simply "site/get?item=xxx, where xxx could return text or an image.

That is what headers are for. See HTTP::Response->decoded_content

Replies are listed 'Best First'.
Re^2: LWP::Curl and character encoding
by perl-diddler (Chaplain) on Nov 16, 2010 at 12:34 UTC
    Oh...um...

    I'm using LWP->Curl->get(...)...

    There's no response to parse...

    I take it that using 'get' is out....and I need to just not use the Curl interface?

    *sigh*...

      I take it that using 'get' is out....and I need to just not use the Curl interface?

      I don't see why that would be the case. Simply RTFM so you can get at the headers

        RTFM?

        Is there a manual that describes how to get to headers, or are you sugggesting I hack the Curl source?

        At that point, I might as well use an alternate interface it seems.

Re^2: LWP::Curl and character encoding
by perl-diddler (Chaplain) on Nov 16, 2010 at 13:28 UTC
    I see under HTTP::Response, the options to retrieve raw content or decoded content.

    But there doesn't seem to be a $response->type, where type returns something to indicate whether I should "decode the content" (i.e. an HTML file), or should get the 'raw' content' (i.e. it's binary and decoding it would mess it up).

    If I call content, then I get a raw, but HTML isn't decoded to UTF-8, but if I call decoded content, then it says: "Returns the content with any Content-Encoding undone and the raw content encoded to perl's Unicode strings."

    By encoding a 'gif' file into UTF-8, it will corrupt the file. So this doesn't seem to help, but seems to be stuck at the same place I was before -- knowing the content of the the buffer before looking at it! *lame!*...

    This seems so basic -- there has to be a way to properly retrieve a URI, and process it or store it, unprocessed -- I'm just missing it...since it seems like a very common problem, I can't imagine that everyone goes and starts hacking headers and trying to figure out what combination of 'use utf8/local/bytes'...etc, is necessary to make sense of this ...

        Right...and what are you trying to say?

        Sorry, but your reply is a bit too cryptic to be useful.