Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: Forking and shelling out to curl

by Argel (Prior)
on Mar 26, 2019 at 13:00 UTC ( [id://1231700]=note: print w/replies, xml ) Need Help??


in reply to Re: Forking and shelling out to curl
in thread Forking and shelling out to curl

Thanks! We have a bug that we're trying to monitor for, and I'm trying to mash a modified perl+curl script I inherited with an monitoring script I wrote over a decade ago. So ugly-but-working is the bar I'm trying to hit. I'll take a look at Net::Curl -- my call to curl is in one sub, so I may be able to drop this in without too much pain. Ill update you on how it goes!

Elda Taluta; Sarks Sark; Ark Arks
My deviantART gallery

Replies are listed 'Best First'.
Re^3: Forking and shelling out to curl
by Argel (Prior) on Mar 27, 2019 at 00:21 UTC
    Looks like our libcurl is too old (3.x). I started looking into LWP::UserAgent, but the SSL headers are not on the server, which I assume rules out just about every other https module. :( :/

    So, I returned back to figuring out why shelling out is causing problems, and it looks like a large part of my problem was a sleep 300 that was supposed to be a sleep 3 for testing and the rest was my $? check, which doesn't work as expected when forking (or maybe it's tied to signal handling). The downsides of not having a second pair of eyes to spotcheck the code.

    Thanks for the help though! Trying to get Net::Curl and then LWP::USerAgent working let me return back to the code with a fresh set of eyes.

    EDIT: For some reason, nothing gets logged the first run through the main while(1), so the sleep makes it look like the script is hanging, so I ended up chasing the wrong issue.

    Elda Taluta; Sarks Sark; Ark Arks
    My deviantART gallery

      I wrote HTTP::Request::FromCurl, live at curl2lwp.psgi, which allows you to generate LWP::UserAgent code from Curl command lines. This could help with the transition to LWP::UserAgent.

      But, as you already note, if the machine cannot install any SSL module (and you cannot build on a different but similar machine and copy the files from there), then you will not be able to make https connections from Perl at all without using an external program.

      just for information: LWP::Protocol::Net::Curl interfaces libcurl with LWP methods. So if one has LWP-based script, can switch transparently to libcurl with this module.

      btw, your script when daemonizes switches dir to /. Are you using absolute paths for your log and data files?

      It would be better if you provided a simplified example script and complete, not fragments.

        Yes, I was full pathing everything. I have access to a RHEL 7 server with a bunch of modules avaialble to me, so I'm using REST::Client, though I just found out it doesn't page data, so I;m back to hitting my head against a wall! :/

        Elda Taluta; Sarks Sark; Ark Arks
        My deviantART gallery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1231700]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (3)
As of 2024-04-25 07:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found