2012-06-29 23 views
10
use LWP::UserAgent; 
use Data::Dumper; 

my $ua = new LWP::UserAgent; 
$ua->agent("AgentName/0.1 " . $ua->agent); 
my $req = new HTTP::Request POST => 'http://example.com'; 
$req->content('port=8', 'target=64'); #problem 
my $res = $ua->request($req); 

print Dumper($res->content); 

$ req-> सामग्री का उपयोग करके सामग्री के कई टुकड़े कैसे भेज सकते हैं? किस प्रकार का डेटा $ req-> सामग्री की अपेक्षा करता है?HTTP अनुरोध (पर्ल)

यह केवल अंतिम भेजता है।

संपादित करें:

बाहर मिला अगर मैं ऐसा प्रारूप 'बंदरगाह = 8 & लक्ष्य = 64' यह काम करता है। क्या कोई बेहतर तरीका है?

उत्तर

14
my $ua  = LWP::UserAgent->new(); 
my $request = POST($url, [ 'port' => 8, 'target' => 64 ]); 
my $content = $ua->request($request)->as_string(); 
+2

सवाल मैं एक पूर्ण OOP दृष्टिकोण के साथ जाना चाहते हैं में कोड के बावजूद: 'मेरी $ ua = LWP :: UserAgent-> नई(); मेरी $ प्रतिक्रिया = $ ua-> पोस्ट ($ यूआरएल, $ पैरामीटर); मेरी $ सामग्री = $ प्रतिक्रिया-> as_string(); ' – dennis

1

उत्तर दिया गया मेरे लिए काम नहीं किया। मुझे अभी भी ओपी के समान समस्या थी।

LWP::UserAgent के लिए प्रलेखन एक हैश या सरणी संदर्भ चाहता है।

यह काम करता है:

my $url = 'https://www.google.com/recaptcha/api/siteverify'; 
my $ua  = LWP::UserAgent->new(); 

my %form; 
$form{'secret'}='xxxxxxxxxxxxxxxxxxxxxxx'; 
$form{'response'}=$captchaResponse; 

my $response = $ua->post($url, \%form); 
my $content = $response->as_string();