Hi all,

I have a task at hand , that of uplaoding file from server to another server
and also pass 6 paramteres along with the file.

Basically, I have to replicate the functionality provided by CFHTTP tag of
COLD FUSION.

I used LWP::UserAgent for the purpose.
My Program is given below.

#!usr/local/bin/perl
use LWP::Simple;
use Data::Dumper;
use LWP::UserAgent;
use HTTP::Request::Common qw/POST/;

LWP::Debug::level('+') ;

push(@INC, '/opt/customer/apps/sun-83/nes363/suitespot/cgi-bin/lib/LWP/') ;
my $ua= LWP::UserAgent->new;
my $file="/home/hewebadm/nilay/test1.txt" ;
my $filename="323272-1980-test1.txt" ;
open(READFILE, "<$file") ;
@data=<READFILE> ;

# HAve to post the content at this URL #
my $url="http://downloaddev.pearsoncmg.com/extmanage/extpost.php"; ;

# Have hard coded the parameters #

$request = POST $url,
       Content_Type => 'application/x-www-form-urlencoded',
       Content      => [ action => "insert",
                         file => "@data",
                         filename  => "$filename",
                        parentisbn   => "0131406701",
                         linktext => "test1.txt",
                         type   => "Presentations",
                         imprint =>"ph" ,
                         secret =>
"08ER0L%29N04P73N9%3ACW%2ANC%5F%250%20%0A" ,
                       ] ;

my $results=$ua->request($request );

print Dumper($results);
if($results->is_success){
        print $results->as_string() ;
        print $results->status_line();
}

On executing this program, I am supposed to get back a URL from the site :
http://downloaddev.pearsoncmg.com/extmanage/extpost.php

But I am getting ERROR: <BR> instead.

Here is the output of the program:
!perl cp_try_lwp.pl
LWP::UserAgent::new: ()
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: POST
http://downloaddev.pearsoncmg.com/extmanage/extpost.php
LWP::UserAgent::_need_proxy: Not proxied
LWP::Protocol::http::request: ()
LWP::Protocol::collect: read 12 bytes
LWP::UserAgent::request: Simple response: OK
$VAR1 = bless( {
                 '_protocol' => 'HTTP/1.1',
                 '_content' => 'ERROR: <BR>
',
                 '_rc' => '200',
                 '_headers' => bless( {
                                        'connection' => 'close',
                                        'x-powered-by' => 'PHP/4.2.2',
                                        'client-response-num' => 1,
                                        'date' => 'Sat, 31 Jan 2004 10:57:02
GMT',
                                        'client-peer' =>
'209.202.161.174:80',
                                        'client-date' => 'Sat, 31 Jan 2004
10:57:04 GMT',
                                        'content-type' => 'text/html',
                                        'server' => 'Apache/1.3.20 (Unix)
PHP/4.2.2',
                                        'client-transfer-encoding' =>
'chunked'
                                      }, 'HTTP::Headers' ),
                 '_msg' => 'OK',
                 '_request' => bless( {
                                        '_content' =>
'action=insert&file=abcsssss%0A+sad%0A+asd%0A+asd%0A+asd%0A+asd%0A+asda%0A+s
das%0A+dasd%0A+fsdf%0A+sdf%0A+sdf%0A+sdf%0A+sdfa%0A+dfasd%0A+fas%0A+dfas%0A+
dfs%0A+df%0A+sdf%0A+f%0A&filename=323272-1980-test1.txt&parentisbn=013140670
1&linktext=test1.txt&type=Presentations&imprint=ph&secret=08ER0L%2529N04P73N
9%253ACW%252ANC%255F%25250%2520%250A',
                                        '_uri' => bless( do{\(my $o =
'http://downloaddev.pearsoncmg.com/extmanage/extpost.php')}, 'URI::http' ),
 '_headers' => bless( {
                                                               'user-agent'
=> 'libwww-perl/5.76',
 
'content-type' => 'application/x-www-form-urlencoded',
 
'content-length' => 339
                                                             },
'HTTP::Headers' ),
                                        '_method' => 'POST'
                                      }, 'HTTP::Request' )
               }, 'HTTP::Response' );
HTTP/1.1 200 OK
Connection: close
Date: Sat, 31 Jan 2004 10:57:02 GMT
Server: Apache/1.3.20 (Unix) PHP/4.2.2
Content-Type: text/html
Client-Date: Sat, 31 Jan 2004 10:57:04 GMT
Client-Peer: 209.202.161.174:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
X-Powered-By: PHP/4.2.2

ERROR: <BR>

200 OK
ERROR: <BR>

I want to know, if I am able to talk to the php program , (since if I do not
pass the paramnteres, I am prompted with the error of missing paramteres.)
what is wrong with this piece of code ?

And I have no access to the php program.

And I can't suspect the php program to be wrong as the same php program when
called thru Cold fusion program is able to upload the file successfully.

NOTE : I have tried passing the file name as well file data in the line :
file => "@data",

Please guide me.

Thanks


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to