Loading ...
Sorry, an error occurred while loading the content.

Capture sessionID in browser from perl script

Expand Messages
  • Sudarshan Soma
    Hi All, I have a requirement to test webserver using perl scripts. The webserver creates a sessionId after successfull authentication. Hence for futher
    Message 1 of 10 , Apr 1, 2009
    • 0 Attachment
      Hi All,
      I have a requirement to test webserver using perl scripts. The
      webserver creates a sessionId after successfull authentication. Hence
      for futher requests to the webserver, i need to send the sessionId
      which is set in the browser/client . Can anyone please let me know how
      can i do this.

      Myperl script is something like this:

      $requestString = "http://x.y.x.w"
      $request = HTTP::Request->new(GET => $requestString);
      $request->authorization_basic($userid, $passwd);
      $request->push_header(Cookie => "SESSIONID=?????; path=/;"); ------>
      capture session id from browser



      Best Regards,
      Pavan

      ---------------------------------------------------------------------
      To unsubscribe, e-mail: asp-unsubscribe@...
      For additional commands, e-mail: asp-help@...
    • Thanos Chatziathanassiou
      ... use HTTP::Cookies; use HTTP::Request::Common; use LWP::UserAgent; $ua = LWP::UserAgent- new; $requestString = http://x.y.x.w ;
      Message 2 of 10 , Apr 1, 2009
      • 0 Attachment
        O/H Sudarshan Soma έγραψε:
        > Hi All,
        > I have a requirement to test webserver using perl scripts. The
        > webserver creates a sessionId after successfull authentication. Hence
        > for futher requests to the webserver, i need to send the sessionId
        > which is set in the browser/client . Can anyone please let me know how
        > can i do this.
        >
        > Myperl script is something like this:
        >
        > $requestString = "http://x.y.x.w"
        > $request = HTTP::Request->new(GET => $requestString);
        > $request->authorization_basic($userid, $passwd);
        > $request->push_header(Cookie => "SESSIONID=?????; path=/;"); ------>
        > capture session id from browser
        >
        rather:
        ---8<---
        use HTTP::Cookies;
        use HTTP::Request::Common;
        use LWP::UserAgent;

        $ua = LWP::UserAgent->new;
        $requestString = "http://x.y.x.w";
        $ua->cookie_jar(HTTP::Cookies->new);
        $result = $ua->request(HTTP::Request::Common::GET $requestString));
        $ua->cookie_jar->extract_cookies($res);
        #session id is now in the cookie jar. ``perldoc HTTP::Cookies''
        #to read it
        $anotherURI = "http://x.y.x.w/whatever";
        $requestObject = HTTP::Request::Common::GET $anotherURI;
        #automatically add the cookies (including the session-id) to this request..
        $ua->cookie_jar->add_cookie_header($requestObject);
        $result = $ua->request($requestObject);

        ---8<---

        >
        >
        > Best Regards,
        > Pavan
        >
        > ---------------------------------------------------------------------
        > To unsubscribe, e-mail: asp-unsubscribe@...
        > For additional commands, e-mail: asp-help@...
        >
        >


        ---------------------------------------------------------------------
        To unsubscribe, e-mail: asp-unsubscribe@...
        For additional commands, e-mail: asp-help@...
      • Sudarshan Soma
        Thanks a lot . I have a followup query, can anyone please advice me: My application (webser) will set up sessionId in the cookie and sets redirect URL to main
        Message 3 of 10 , Apr 3, 2009
        • 0 Attachment
          Thanks a lot . I have a followup query, can anyone please advice me:

          My application (webser) will set up sessionId in the cookie and sets
          redirect URL to main page(if login is successfull). In case of
          browser, this works fine with redirect thread reaches server with the
          sessionId set and request for main page.

          Can anyone please let me know how, it can be made to work in perl with
          redirect URLs.

          I think this is a basic query , but my intial search didnt help me.
          Please advice

          Thanks and Best Regards,
          Pavan

          My code till now is:

          $ua = new LWP::UserAgent;
          if(! $ua) {
          return 0;
          }

          $ua->cookie_jar(HTTP::Cookies->new);
          $requestString = "http://x.y.z.w?Username=abc&Password=abc";
          $requestObject = HTTP::Request::Common::GET $requestString;
          $result = $ua->request($requestObject);
          $resp = $result->content;
          print "$resp";


          On Wed, Apr 1, 2009 at 3:20 PM, Thanos Chatziathanassiou <tchatzi@...> wrote:
          > O/H Sudarshan Soma έγραψε:
          >>
          >> Hi All,
          >> I have a requirement to test webserver using perl scripts. The
          >> webserver creates a sessionId after successfull authentication. Hence
          >> for futher requests to the webserver, i need to send the sessionId
          >> which is set in the browser/client . Can anyone please let me know how
          >> can i do this.
          >>
          >> Myperl script is something like this:
          >>
          >> $requestString = "http://x.y.x.w"
          >> $request = HTTP::Request->new(GET => $requestString);
          >> $request->authorization_basic($userid, $passwd);
          >> $request->push_header(Cookie => "SESSIONID=?????; path=/;"); ------>
          >> capture session id from browser
          >>
          >
          > rather:
          > ---8<---
          > use HTTP::Cookies;
          > use HTTP::Request::Common;
          > use LWP::UserAgent;
          >
          > $ua = LWP::UserAgent->new;
          > $requestString = "http://x.y.x.w";
          > $ua->cookie_jar(HTTP::Cookies->new);
          > $result = $ua->request(HTTP::Request::Common::GET $requestString));
          > $ua->cookie_jar->extract_cookies($res);
          > #session id is now in the cookie jar. ``perldoc HTTP::Cookies''
          > #to read it
          > $anotherURI = "http://x.y.x.w/whatever";
          > $requestObject = HTTP::Request::Common::GET $anotherURI;
          > #automatically add the cookies (including the session-id) to this request..
          > $ua->cookie_jar->add_cookie_header($requestObject);
          > $result = $ua->request($requestObject);
          >
          > ---8<---
          >
          >>
          >>
          >> Best Regards,
          >> Pavan
          >>
          >> ---------------------------------------------------------------------
          >> To unsubscribe, e-mail: asp-unsubscribe@...
          >> For additional commands, e-mail: asp-help@...
          >>
          >>
          >
          >

          ---------------------------------------------------------------------
          To unsubscribe, e-mail: asp-unsubscribe@...
          For additional commands, e-mail: asp-help@...
        • Thanos Chatziathanassiou
          ... You really need to familiarize yourself with perldoc (or google for that matter ;) To the matter at hand: redirects should work quite as expected. If they
          Message 4 of 10 , Apr 3, 2009
          • 0 Attachment
            O/H Sudarshan Soma έγραψε:
            > Thanks a lot . I have a followup query, can anyone please advice me:
            >
            > My application (webser) will set up sessionId in the cookie and sets
            > redirect URL to main page(if login is successfull). In case of
            > browser, this works fine with redirect thread reaches server with the
            > sessionId set and request for main page.
            >
            > Can anyone please let me know how, it can be made to work in perl with
            > redirect URLs.
            >
            > I think this is a basic query , but my intial search didnt help me.
            > Please advice
            >
            You really need to familiarize yourself with perldoc (or google for that
            matter ;)

            To the matter at hand: redirects should work quite as expected. If they
            do not, then they're probably not HTTP 3xx (see
            http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) and perhaps
            you'll have to resort to some fancy regex (perldoc perlre) to go to the
            correct URI.
            For HTTP, see ``$ua->max_redirect'' and ``$ua->requests_redirectable''
            in ``perldoc LWP::UserAgent''. Also take a look in the libwww-perl
            cookbook ``perldoc lwpcook''.
            Someone's bound to have already done what you need.
            > Thanks and Best Regards,
            > Pavan
            >
            > My code till now is:
            >
            > $ua = new LWP::UserAgent;
            > if(! $ua) {
            > return 0;
            > }
            >
            > $ua->cookie_jar(HTTP::Cookies->new);
            > $requestString = "http://x.y.z.w?Username=abc&Password=abc";
            > $requestObject = HTTP::Request::Common::GET $requestString;
            > $result = $ua->request($requestObject);
            > $resp = $result->content;
            > print "$resp";
            >
            >
            > On Wed, Apr 1, 2009 at 3:20 PM, Thanos Chatziathanassiou <tchatzi@...> wrote:
            >
            >> O/H Sudarshan Soma έγραψε:
            >>
            >>> Hi All,
            >>> I have a requirement to test webserver using perl scripts. The
            >>> webserver creates a sessionId after successfull authentication. Hence
            >>> for futher requests to the webserver, i need to send the sessionId
            >>> which is set in the browser/client . Can anyone please let me know how
            >>> can i do this.
            >>>
            >>> Myperl script is something like this:
            >>>
            >>> $requestString = "http://x.y.x.w"
            >>> $request = HTTP::Request->new(GET => $requestString);
            >>> $request->authorization_basic($userid, $passwd);
            >>> $request->push_header(Cookie => "SESSIONID=?????; path=/;"); ------>
            >>> capture session id from browser
            >>>
            >>>
            >> rather:
            >> ---8<---
            >> use HTTP::Cookies;
            >> use HTTP::Request::Common;
            >> use LWP::UserAgent;
            >>
            >> $ua = LWP::UserAgent->new;
            >> $requestString = "http://x.y.x.w";
            >> $ua->cookie_jar(HTTP::Cookies->new);
            >> $result = $ua->request(HTTP::Request::Common::GET $requestString));
            >> $ua->cookie_jar->extract_cookies($res);
            >> #session id is now in the cookie jar. ``perldoc HTTP::Cookies''
            >> #to read it
            >> $anotherURI = "http://x.y.x.w/whatever";
            >> $requestObject = HTTP::Request::Common::GET $anotherURI;
            >> #automatically add the cookies (including the session-id) to this request..
            >> $ua->cookie_jar->add_cookie_header($requestObject);
            >> $result = $ua->request($requestObject);
            >>
            >> ---8<---
            >>
            >>
            >>> Best Regards,
            >>> Pavan
            >>>
            >>> ---------------------------------------------------------------------
            >>> To unsubscribe, e-mail: asp-unsubscribe@...
            >>> For additional commands, e-mail: asp-help@...
            >>>
            >>>
            >>>
            >>


            ---------------------------------------------------------------------
            To unsubscribe, e-mail: asp-unsubscribe@...
            For additional commands, e-mail: asp-help@...
          • Sudarshan Soma
            ... Thanks a lot. I got the final code now use warnings; use HTTP::Cookies; use HTTP::Request::Common; use LWP::UserAgent; { $ua = new LWP::UserAgent; if(!
            Message 5 of 10 , Apr 8, 2009
            • 0 Attachment
              2009/4/3 Thanos Chatziathanassiou <tchatzi@...>:
              > O/H Sudarshan Soma έγραψε:
              >>
              >> Thanks a lot . I have a followup query, can anyone please advice me:
              >>
              >> My application (webser) will set up sessionId in the cookie and sets
              >> redirect URL to main page(if login is successfull). In case of
              >> browser, this works fine with redirect thread reaches server with the
              >> sessionId set and request for main page.
              >>
              >> Can anyone please let me know how, it can be made to work in perl with
              >> redirect URLs.
              >>
              >> I think this is a basic query , but my intial search didnt help me.
              >> Please advice
              >>
              >
              > You really need to familiarize yourself with perldoc (or google for that
              > matter ;)
              >
              > To the matter at hand: redirects should work quite as expected. If they do
              > not, then they're probably not HTTP 3xx (see
              > http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) and perhaps you'll
              > have to resort to some fancy regex (perldoc perlre) to go to the correct
              > URI.
              > For HTTP, see ``$ua->max_redirect'' and ``$ua->requests_redirectable'' in
              > ``perldoc LWP::UserAgent''. Also take a look in the libwww-perl cookbook
              > ``perldoc lwpcook''.
              > Someone's bound to have already done what you need.
              >>
              >> Thanks and Best Regards,
              >> Pavan
              >>
              >> My code till now is:
              >>
              >> $ua = new LWP::UserAgent;
              >> if(! $ua) {
              >> return 0;
              >> }
              >>
              >> $ua->cookie_jar(HTTP::Cookies->new);
              >> $requestString = "http://x.y.z.w?Username=abc&Password=abc";
              >> $requestObject = HTTP::Request::Common::GET $requestString;
              >> $result = $ua->request($requestObject);
              >> $resp = $result->content;
              >> print "$resp";
              >>
              >>
              >> On Wed, Apr 1, 2009 at 3:20 PM, Thanos Chatziathanassiou <tchatzi@...>
              >> wrote:
              >>
              >>>
              >>> O/H Sudarshan Soma έγραψε:
              >>>
              >>>>
              >>>> Hi All,
              >>>> I have a requirement to test webserver using perl scripts. The
              >>>> webserver creates a sessionId after successfull authentication. Hence
              >>>> for futher requests to the webserver, i need to send the sessionId
              >>>> which is set in the browser/client . Can anyone please let me know how
              >>>> can i do this.
              >>>>
              >>>> Myperl script is something like this:
              >>>>
              >>>> $requestString = "http://x.y.x.w"
              >>>> $request = HTTP::Request->new(GET => $requestString);
              >>>> $request->authorization_basic($userid, $passwd);
              >>>> $request->push_header(Cookie => "SESSIONID=?????; path=/;"); ------>
              >>>> capture session id from browser
              >>>>
              >>>>
              >>>
              >>> rather:
              >>> ---8<---
              >>> use HTTP::Cookies;
              >>> use HTTP::Request::Common;
              >>> use LWP::UserAgent;
              >>>
              >>> $ua = LWP::UserAgent->new;
              >>> $requestString = "http://x.y.x.w";
              >>> $ua->cookie_jar(HTTP::Cookies->new);
              >>> $result = $ua->request(HTTP::Request::Common::GET $requestString));
              >>> $ua->cookie_jar->extract_cookies($res);
              >>> #session id is now in the cookie jar. ``perldoc HTTP::Cookies''
              >>> #to read it
              >>> $anotherURI = "http://x.y.x.w/whatever";
              >>> $requestObject = HTTP::Request::Common::GET $anotherURI;
              >>> #automatically add the cookies (including the session-id) to this
              >>> request..
              >>> $ua->cookie_jar->add_cookie_header($requestObject);
              >>> $result = $ua->request($requestObject);
              >>>
              >>> ---8<---
              >>>
              >>>
              >>>>
              >>>> Best Regards,
              >>>> Pavan
              >>>>
              >>>> ---------------------------------------------------------------------
              >>>> To unsubscribe, e-mail: asp-unsubscribe@...
              >>>> For additional commands, e-mail: asp-help@...
              >>>>
              >>>>
              >>>>
              >>>
              >>>
              >
              >


              Thanks a lot. I got the final code now

              use warnings;

              use HTTP::Cookies;
              use HTTP::Request::Common;
              use LWP::UserAgent;

              {
              $ua = new LWP::UserAgent;
              if(! $ua) {
              print "Can not get the page :UserAgent fialed \n";
              return 0;
              }

              my $cookies=new HTTP::Cookies(file=>'./cookies.dat',autosave=>1);
              $ua->cookie_jar($cookies);
              # push does all magic to exrtact cookies and add to header for further
              reqs. useragent should be newer
              push @{ $ua->requests_redirectable }, 'POST';
              $result = $ua->request(POST "http://x.y.z.p",
              {
              Username =>'xxx',
              Password =>'xxx',
              Submit =>'Submit'
              });
              $resp = $result->content;

              $anotherURI = "http://x.y.z.p/gd";
              $requestObject = HTTP::Request::Common::GET $anotherURI;
              $result = $ua->request($requestObject);
              $resp = $result->content;

              ---------------------------------------------------------------------
              To unsubscribe, e-mail: asp-unsubscribe@...
              For additional commands, e-mail: asp-help@...
            • Thanos Chatziathanassiou
              ... Since this is a mod_perl list, you might want to consider ``use strict; as well (actually you might consider using strict anyhow) ... I ve never had an
              Message 6 of 10 , Apr 9, 2009
              • 0 Attachment
                O/H Sudarshan Soma έγραψε:
                > Thanks a lot. I got the final code now
                >
                > use warnings;
                >
                Since this is a mod_perl list, you might want to consider ``use
                strict;'' as well (actually you might consider using strict anyhow)
                > use HTTP::Cookies;
                > use HTTP::Request::Common;
                > use LWP::UserAgent;
                >
                > {
                > $ua = new LWP::UserAgent;
                > if(! $ua) {
                > print "Can not get the page :UserAgent fialed \n";
                > return 0;
                > }
                >
                I've never had an LWP::UserAgent fail on me at this step, however...
                > my $cookies=new HTTP::Cookies(file=>'./cookies.dat',autosave=>1);
                > $ua->cookie_jar($cookies);
                > # push does all magic to exrtact cookies and add to header for further
                > reqs. useragent should be newer
                > push @{ $ua->requests_redirectable }, 'POST';
                > $result = $ua->request(POST "http://x.y.z.p",
                > {
                > Username =>'xxx',
                > Password =>'xxx',
                > Submit =>'Submit'
                > });
                >
                ..if really want to check for failures, maybe fold all the rest in an
                ``if ($result->is_success)'' block.
                > $resp = $result->content;
                >
                > $anotherURI = "http://x.y.z.p/gd";
                > $requestObject = HTTP::Request::Common::GET $anotherURI;
                > $result = $ua->request($requestObject);
                >
                same here
                > $resp = $result->content;
                >
                in all, there are numerous things that might go wrong through the
                process (e.g. perhaps you didn't really log in successfully), but maybe
                this is a throw-away run once script, so if it works for you...


                ---------------------------------------------------------------------
                To unsubscribe, e-mail: asp-unsubscribe@...
                For additional commands, e-mail: asp-help@...
              • aura networks
                http://www.nabble.com/file/p24106268/final.pl final.pl Here i am not getting the Session-id / cookie-value from the browser, just i am getting the below
                Message 7 of 10 , Jun 18, 2009
                • 0 Attachment
                  http://www.nabble.com/file/p24106268/final.pl final.pl
                  Here i am not getting the Session-id / cookie-value from the browser, just i
                  am getting the below output:
                  Output: HTTP::Response=HASH(0xacc640)

                  Please suggest me how to capture the session-id from the opened site(in the
                  script)

                  Thanks,
                  Lakshmi Sreekanth
                  --
                  View this message in context: http://www.nabble.com/Capture-sessionID-in-browser-from-perl-script-tp22822820p24106268.html
                  Sent from the Apache - Asp mailing list archive at Nabble.com.


                  ---------------------------------------------------------------------
                  To unsubscribe, e-mail: asp-unsubscribe@...
                  For additional commands, e-mail: asp-help@...
                • aura networks
                  My Perl code: #!/usr/bin/perl -w use HTTP::Cookies; use HTTP::Request::Common; use LWP::UserAgent; $ua = new LWP::UserAgent; if(! $ua) { print Can not get the
                  Message 8 of 10 , Jun 18, 2009
                  • 0 Attachment
                    My Perl code:

                    #!/usr/bin/perl -w

                    use HTTP::Cookies;
                    use HTTP::Request::Common;
                    use LWP::UserAgent;

                    $ua = new LWP::UserAgent;
                    if(! $ua)
                    {
                    print "Can not get the page :UserAgent fialed \n";
                    return 0;
                    }

                    my $cookies=new HTTP::Cookies(file=>'./cookies.dat',autosave=>1);
                    $ua->cookie_jar($cookies);
                    # push does all magic to exrtact cookies and add to header for further reqs.
                    useragent should be newer
                    push @{ $ua->requests_redirectable }, 'POST';
                    $result = $ua->request(POST " http://erail.in http://erail.in ");
                    print $result;
                    ______________
                    Through this program i am not able to capture the Session id/cookie value
                    from the opened site(in the script)
                    I am getting this output: HTTP::Response=HASH(0xacc640)

                    Please suggest me how to capture the session-id....

                    Thanks,
                    Lakshmi Sreekanth
                    --
                    View this message in context: http://www.nabble.com/Capture-sessionID-in-browser-from-perl-script-tp22822820p24106307.html
                    Sent from the Apache - Asp mailing list archive at Nabble.com.


                    ---------------------------------------------------------------------
                    To unsubscribe, e-mail: asp-unsubscribe@...
                    For additional commands, e-mail: asp-help@...
                  • Sudarshan Soma
                    Hi, The cookies would be stored in the cookie store mentioned, cookies.dat. You can aswell check errors for every call. In mycase if need not check the
                    Message 9 of 10 , Jun 18, 2009
                    • 0 Attachment
                      Hi,
                      The cookies would be stored in the cookie store mentioned, cookies.dat.
                      You can aswell check errors for every call. In mycase if need not
                      check the sessionid, but just pass the obtained sessionid embedded in
                      the further web requests

                      let me know what u find

                      thanks
                      pavan

                      On Fri, Jun 19, 2009 at 12:10 PM, aura networks<laki.sreekanth@...> wrote:
                      >
                      > My Perl code:
                      >
                      > #!/usr/bin/perl -w
                      >
                      > use HTTP::Cookies;
                      > use HTTP::Request::Common;
                      > use LWP::UserAgent;
                      >
                      > $ua = new LWP::UserAgent;
                      > if(! $ua)
                      > {
                      > print "Can not get the page :UserAgent fialed \n";
                      > return 0;
                      > }
                      >
                      > my $cookies=new HTTP::Cookies(file=>'./cookies.dat',autosave=>1);
                      > $ua->cookie_jar($cookies);
                      > # push does all magic to exrtact cookies and add to header for further reqs.
                      > useragent should be newer
                      > push @{ $ua->requests_redirectable }, 'POST';
                      > $result = $ua->request(POST " http://erail.in http://erail.in ");
                      > print $result;
                      > ______________
                      > Through this program i am not able to capture the Session id/cookie value
                      > from the opened site(in the script)
                      > I am getting this output: HTTP::Response=HASH(0xacc640)
                      >
                      > Please suggest me how to capture the session-id....
                      >
                      > Thanks,
                      > Lakshmi Sreekanth
                      > --
                      > View this message in context: http://www.nabble.com/Capture-sessionID-in-browser-from-perl-script-tp22822820p24106307.html
                      > Sent from the Apache - Asp mailing list archive at Nabble.com.
                      >
                      >
                      > ---------------------------------------------------------------------
                      > To unsubscribe, e-mail: asp-unsubscribe@...
                      > For additional commands, e-mail: asp-help@...
                      >
                      >

                      ---------------------------------------------------------------------
                      To unsubscribe, e-mail: asp-unsubscribe@...
                      For additional commands, e-mail: asp-help@...
                    • aura networks
                      Contents in cookies.dat file: #LWP-Cookies-1.0 Output: HTTP::Response=HASH(0xafebd0) Tell me the way to get session-id pls pls... -- View this message in
                      Message 10 of 10 , Jun 19, 2009
                      • 0 Attachment
                        Contents in cookies.dat file: #LWP-Cookies-1.0
                        Output: HTTP::Response=HASH(0xafebd0)

                        Tell me the way to get session-id pls pls...



                        --
                        View this message in context: http://www.nabble.com/Capture-sessionID-in-browser-from-perl-script-tp22822820p24109775.html
                        Sent from the Apache - Asp mailing list archive at Nabble.com.


                        ---------------------------------------------------------------------
                        To unsubscribe, e-mail: asp-unsubscribe@...
                        For additional commands, e-mail: asp-help@...
                      Your message has been successfully submitted and would be delivered to recipients shortly.