in reply to IO::Socket::SSL is not downloading full data from HTTPS URL in Windows ActiveState Perl.

This might be related to timeout handling. Historically neither Crypt::SSLeay nor IO::Socket::SSL had support for non-blocking sockets on Windows, so timeout handling never worked. With 2.006 non-blocking support was added to IO::Socket::SSL. Unfortunately this needs to have proper support in LWP because in Windows you need to check for an error of EWOULDBLOCK and not EAGAIN (on UNIX they are both the same), see pull request #11.

I would ask you to try the following things:

  • Comment on Re: IO::Socket::SSL is not downloading full data from HTTPS URL in Windows ActiveState Perl.

Replies are listed 'Best First'.
Re^2: IO::Socket::SSL is not downloading full data from HTTPS URL in Windows ActiveState Perl.
by sam_bakki (Pilgrim) on Jan 23, 2015 at 05:06 UTC

    Hi noxxi

    I had already applied the patch from https://github.com/libwww-perl/net-http/pull/11. Before that the script2 was not even running, it failed with timeout. After patch applied, You can see the script2 completes ($browser->status is success) but not downloaded the data properly.

    I see the same behavior in Windows + Active Perl 5.14, 5.16, 5.18 and 5.20. I have been suffering this problem for past 3 years :(. I thought to find a root so i can use the default IO::Socket::SSL.

    Thanks & Regards,
    Bakkiaraj M
    My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

      I see the same behavior in Windows + Active Perl 5.14, 5.16, 5.18 and 5.20. I have been suffering this problem for past 3 years :(. I thought to find a root so i can use the default IO::Socket::SSL.

      Unfortunately I can not reproduce the problem. Neither with Strawberry Perl, nor with the latest ActiveState Perl. Did you also apply https://github.com/libwww-perl/libwww-perl/pull/66, which fixes the non-blocking handling on Windows for the libwww part?