oldwarrior32 has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks. I apologize to ask such simple question for you.
I have the following script section:
$response = $session->post('http://92.0.7.11/reports/GenerateReports.d +o?reportID=91', Content => [vmReportType=>'', deviceId=>'', perVM=>'', category=>'0', bview=>'All', showType=>'1', top=>'10', time=>'custom', timeWindow=>'0-24', startTime=>'2013-04-21', startHour=>'19', endTime=>'2013-04-22', endHour=>'7', show=>'Show+Report']);
The problem is with the line 'show=>'Show+Report'. I made a packet capture using Wireshark, when I make a request from a webpage. In the packet capture I see the line 'Show+Report', as the parameter for the 'show' variable. However, when I simulate the request using the LWP::UserAgent module, and with the code above, I see the line changed: 'Show%2BReport'.
I want to send the '+' sign as is. I tried escaping with URI::Escape, but doesn't work
my $plus = '%2B'; show=>'Show'.uri_escape($plus).'Report'
OR:
my $plus = '+'; show=>'Show'.uri_escape($plus).'Report'
I tried with the uri_unescape function either with no luck
The change above gives me more hexadecimal characters
How do I escape the plus sign, inside a Post request using LWP::UserAgent?
Thanks for any help!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Can't get '+' character to appear in a POST request.
by Anonymous Monk on Apr 23, 2013 at 01:50 UTC | |
by oldwarrior32 (Sexton) on Apr 23, 2013 at 11:57 UTC | |
by Anonymous Monk on Apr 24, 2013 at 11:48 UTC |