Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Can't get '+' character to appear in a POST request.

by oldwarrior32 (Sexton)
on Apr 22, 2013 at 22:39 UTC ( #1029990=perlquestion: print w/ replies, xml ) Need Help??
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!

Comment on Can't get '+' character to appear in a POST request.
Select or Download Code
Re: Can't get '+' character to appear in a POST request.
by Anonymous Monk on Apr 23, 2013 at 01:50 UTC

    I want to send the '+' sign as is.

    No you don't, you want a space

    One way to encode space is as +, another way is as %20

      Thanks! I just put an space, instead of the plus sign in the code, and now I see the plus sign in the packet capture.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (9)
As of 2014-09-23 10:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (218 votes), past polls