http://qs321.pair.com?node_id=487998


in reply to Reaped: $20 For Coding Help

Greetings copland,

Its been a very long time since I've had to do anything with PHP, and I think I had a wee bit too much wine tonight with dinner; however, here's my first (untested) pass:

use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $page = $ua->get( 'https://www.paytox.com/?cmd=retrieve_trans' . '&user_id=<USERID>&xipn=<XPIN>&xhash=<XHASH>&trans_id=<TRANSID>' ); die "HTTP resquest not successful; $!" unless ($page->is_success); my $trans = split(',', (split("\n", $page->content)[-1]);

If this works, keep your $20. I don't post here for money. (I do it for the XP... Just kidding.)

gryphon
Whitepages.com Development Manager (DSMS)
code('Perl') || die;

Replies are listed 'Best First'.
Re^2: $20 For Coding Help
by copland (Initiate) on Aug 31, 2005 at 02:13 UTC
    I didn't know the links were pirated books, I was just typing stuff into Google for perl routines, and those links came up. Thanks for your help gryphon, I'll donate your $20 to perlmonks if it works. I'm going to check it out now!

      Heres a better suggestion for your $20- Perl & LWP copies from $17.43.

      --
      Murray Barton
      Do not seek to follow in the footsteps of the wise. Seek what they sought. -Basho

Re^2: $20 For Coding Help
by copland (Initiate) on Aug 31, 2005 at 02:26 UTC
    I've just tried it, and I'm getting 500 internal server errors. This is the original perl code I was using (the variables have been changed to *'s for security reasons):-
    #!/usr/bin/perl use LWP; &ReadParse; $timetoget = time; &GetDate; &AssignVariables; $paytox = &DoGet($urltopost); print "Content-type: text/html\n\n"; if ($paytox ne "") { print "AUTHORISED PAYMENT<br><br>"; print "Response recieved...<br><br>$paytox"; } else { print "DECLINED PAYMENT<br><br>"; print "No response..."; } exit; sub ReadParse { local (*in) = @_ if @_; local ($i, $key, $val); if ( $ENV{'REQUEST_METHOD'} eq "GET" ) { $in = $ENV{'QUERY_STRING'}; } elsif ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$in,$ENV{'CONTENT_LENGTH'}); } else { $in = ( grep( !/^-/, @ARGV )) [0]; $in =~ s/\\&/&/g; } @in = split(/&/,$in); foreach $i (0 .. $#in) { $in[$i] =~ s/\+/ /g; ($key, $val) = split(/=/,$in[$i],2); $key =~ s/%(..)/pack("c",hex($1))/ge; $val =~ s/%(..)/pack("c",hex($1))/ge; $in{$key} .= "\0" if (defined($in{$key})); $in{$key} .= $val; } return length($in); } sub AssignVariables { $userid = "***"; $xpin = "****"; $xhash = "*****"; $transid = $in{'trans_id'}; $urltopost = "https://www.paytox.com/?cmd=retrieve_trans&user_id=$ +userid&xipn=$xpin&xhash=$xhash&trans_id=$transid"; } sub DoPost { $browser = LWP::UserAgent->new( ) unless $browser; my $resp = $browser->post(@_); return ($resp->content, $resp->status_line, $resp->is_success, $resp +) if wantarray; return unless $resp->is_success; return $resp->content; } sub DoGet { $browser = LWP::UserAgent->new( ) unless $browser; my $resp = $browser->get(@_); return ($resp->content, $resp->status_line, $resp->is_success, $resp +) if wantarray; return unless $resp->is_success; return $resp->content; } sub GetDate { @days = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Frida +y','Saturday'); @months = ('jan','feb','mar','apr','may','jun','jul','aug','sep',' +oct','nov','dec'); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime( +$timetoget); $year = $year+1900; $Date = "$days[$wday] $months[$mon]/$mday/$year"; }