Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: $20 For Coding Help

by gryphon (Abbot)
on Aug 31, 2005 at 01:54 UTC ( #487998=note: print w/ replies, xml ) Need Help??


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;


Comment on Re: $20 For Coding Help
Download Code
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"; }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2015-07-07 01:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (86 votes), past polls