Simulating a Form Method=Post submission in PHP [message #178421] |
Sat, 16 June 2012 18:25 |
Robert Rosenberg
Messages: 6 Registered: May 2012
Karma: 0
|
Junior Member |
|
|
I would like to go to an external site and send a form to it via Post
(simulating having generated the form and having the user submit it). I know
that if I had been using GET, I could just code the parms along with the URL
in the location command. To simulate Post I assume that I just need to use
header to send the POST parms but I do not know the format of what to place
in the header request (and I assume that I then use location to fire off to
connection).
Can someone either supply me with a sample code to do this or give me the
URL of the documentation of the Headers that get sent by Post so I can look
them up and create the needed script myself.
Thank You.
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178423 is a reply to message #178421] |
Sat, 16 June 2012 18:45 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 6/16/2012 2:25 PM, Robert Rosenberg wrote:
> I would like to go to an external site and send a form to it via Post
> (simulating having generated the form and having the user submit it). I know
> that if I had been using GET, I could just code the parms along with the URL
> in the location command. To simulate Post I assume that I just need to use
> header to send the POST parms but I do not know the format of what to place
> in the header request (and I assume that I then use location to fire off to
> connection).
>
> Can someone either supply me with a sample code to do this or give me the
> URL of the documentation of the Headers that get sent by Post so I can look
> them up and create the needed script myself.
>
> Thank You.
>
Look up the cURL functions.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178424 is a reply to message #178421] |
Sat, 16 June 2012 18:46 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 16-06-2012 20:25, Robert Rosenberg wrote:
> I would like to go to an external site and send a form to it via Post
> (simulating having generated the form and having the user submit it). I know
> that if I had been using GET, I could just code the parms along with the URL
> in the location command. To simulate Post I assume that I just need to use
> header to send the POST parms but I do not know the format of what to place
> in the header request (and I assume that I then use location to fire off to
> connection).
>
> Can someone either supply me with a sample code to do this or give me the
> URL of the documentation of the Headers that get sent by Post so I can look
> them up and create the needed script myself.
>
> Thank You.
>
use curl (example #2)
see: http://www.php.net/manual/en/function.curl-setopt.php
or file_get_contents
see: http://www.php.net/manual/en/function.file-get-contents.php#108309
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178426 is a reply to message #178424] |
Sun, 17 June 2012 00:10 |
Robert Rosenberg
Messages: 6 Registered: May 2012
Karma: 0
|
Junior Member |
|
|
On 06/16/2012 14:46, in article 6s0va9-ugd(dot)ln1(at)luuk(dot)invalid(dot)lan, "Luuk"
<luuk(at)invalid(dot)lan> wrote:
> On 16-06-2012 20:25, Robert Rosenberg wrote:
>> I would like to go to an external site and send a form to it via Post
>> (simulating having generated the form and having the user submit it). I know
>> that if I had been using GET, I could just code the parms along with the URL
>> in the location command. To simulate Post I assume that I just need to use
>> header to send the POST parms but I do not know the format of what to place
>> in the header request (and I assume that I then use location to fire off to
>> connection).
>>
>> Can someone either supply me with a sample code to do this or give me the
>> URL of the documentation of the Headers that get sent by Post so I can look
>> them up and create the needed script myself.
>>
>> Thank You.
>>
>
>
> use curl (example #2)
> see: http://www.php.net/manual/en/function.curl-setopt.php
>
> or file_get_contents
> see: http://www.php.net/manual/en/function.file-get-contents.php#108309
>
Thank You.
Example 2 was EXACTLY what I needed (even though all I wanted to do was pass
a set of parms not load a file).
One other query. I seem to remember a site whose function was to display all
the headers being passed. I think it was a security type page whose purposed
was to show all the data being leaked/sent in the headers when you connect.
I would like to see what I ended up sending (as well as all the headers
being sent) so I have a reference to see what the cURL function caused the
browser to send. Cam you refresh my memory by supplying a URL for that site.
Thank You.
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178427 is a reply to message #178426] |
Sun, 17 June 2012 00:41 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 6/16/2012 8:10 PM, Robert Rosenberg wrote:
> On 06/16/2012 14:46, in article 6s0va9-ugd(dot)ln1(at)luuk(dot)invalid(dot)lan, "Luuk"
> <luuk(at)invalid(dot)lan> wrote:
>
>> On 16-06-2012 20:25, Robert Rosenberg wrote:
>>> I would like to go to an external site and send a form to it via Post
>>> (simulating having generated the form and having the user submit it). I know
>>> that if I had been using GET, I could just code the parms along with the URL
>>> in the location command. To simulate Post I assume that I just need to use
>>> header to send the POST parms but I do not know the format of what to place
>>> in the header request (and I assume that I then use location to fire off to
>>> connection).
>>>
>>> Can someone either supply me with a sample code to do this or give me the
>>> URL of the documentation of the Headers that get sent by Post so I can look
>>> them up and create the needed script myself.
>>>
>>> Thank You.
>>>
>>
>>
>> use curl (example #2)
>> see: http://www.php.net/manual/en/function.curl-setopt.php
>>
>> or file_get_contents
>> see: http://www.php.net/manual/en/function.file-get-contents.php#108309
>>
>
> Thank You.
>
> Example 2 was EXACTLY what I needed (even though all I wanted to do was pass
> a set of parms not load a file).
>
> One other query. I seem to remember a site whose function was to display all
> the headers being passed. I think it was a security type page whose purposed
> was to show all the data being leaked/sent in the headers when you connect.
> I would like to see what I ended up sending (as well as all the headers
> being sent) so I have a reference to see what the cURL function caused the
> browser to send. Cam you refresh my memory by supplying a URL for that site.
>
> Thank You.
>
You may be thinking of the HTTP Headers plugin for Firefox. A great
tool, but it doesn't help with cURL because cURL doesn't use the browser.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178428 is a reply to message #178426] |
Sun, 17 June 2012 12:19 |
J.O. Aho
Messages: 194 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
Robert Rosenberg wrote:
> On 06/16/2012 14:46, in article 6s0va9-ugd(dot)ln1(at)luuk(dot)invalid(dot)lan, "Luuk"
>> use curl (example #2)
>> see: http://www.php.net/manual/en/function.curl-setopt.php
> Example 2 was EXACTLY what I needed (even though all I wanted to do was pass
> a set of parms not load a file).
>
> One other query. I seem to remember a site whose function was to display all
> the headers being passed. I think it was a security type page whose purposed
> was to show all the data being leaked/sent in the headers when you connect.
> I would like to see what I ended up sending (as well as all the headers
> being sent) so I have a reference to see what the cURL function caused the
> browser to send. Cam you refresh my memory by supplying a URL for that site.
First of all, when you are using PHP on a website, everything regarding PHP is
executed on the web server, so the users web browser will not do anything more
than send a form to your script.
If you want to have header information which curl sent to the server, you can
do the following before you use curl_close():
$sentheader = curl_getinfo($ch, CURLINFO_HEADER_OUT);
If you want to have the header you got from the remote server, then do the
following before curl_exec():
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
and before curl_close():
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
If you are interested of seeing the header that the user sent when they posted
the the form:
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
This will only work on a apache server, depending on how you have setup the
apache server to execute php. There is suggestion on a work around which you
can read at:
http://www.rvaidya.com/blog/php/2009/02/25/get-request-headers-sent-by-clie nt-in-php/
--
//Aho
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178431 is a reply to message #178427] |
Sun, 17 June 2012 18:14 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 17-06-2012 02:41, Jerry Stuckle wrote:
> On 6/16/2012 8:10 PM, Robert Rosenberg wrote:
>> I would like to see what I ended up sending (as well as all the headers
>> being sent) so I have a reference to see what the cURL function caused
>> the
>> browser to send. Cam you refresh my memory by supplying a URL for that
>> site.
>>
>> Thank You.
>>
>
> You may be thinking of the HTTP Headers plugin for Firefox. A great
> tool, but it doesn't help with cURL because cURL doesn't use the browser.
>
or, if you use IE, press F12.... ;)
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178435 is a reply to message #178421] |
Mon, 18 June 2012 07:54 |
Arno Welzel
Messages: 317 Registered: October 2011
Karma: 0
|
Senior Member |
|
|
Robert Rosenberg, 16.06.2012 20:25:
> I would like to go to an external site and send a form to it via Post
> (simulating having generated the form and having the user submit it). I know
> that if I had been using GET, I could just code the parms along with the URL
> in the location command. To simulate Post I assume that I just need to use
> header to send the POST parms but I do not know the format of what to place
> in the header request (and I assume that I then use location to fire off to
> connection).
If available - use curl:
<http://php.net/manual/en/book.curl.php>
> Can someone either supply me with a sample code to do this or give me the
> URL of the documentation of the Headers that get sent by Post so I can look
> them up and create the needed script myself.
<?php
$data = array(
'field1'=>'value1',
'field2'=>'value2'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://server.example');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
curl_close($ch);
?>
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
|
|
|
Re: Simulating a Form Method=Post submission in PHP [message #178575 is a reply to message #178426] |
Tue, 03 July 2012 12:11 |
Denis McMahon
Messages: 634 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On Sat, 16 Jun 2012 20:10:09 -0400, Robert Rosenberg wrote:
> One other query. I seem to remember a site whose function was to display
> all the headers being passed.
Assuming you have a web server available to you, it shouldn't be too
difficult to set this up yourself. Just make a page on your server that
logs the relevant data to a file, and point your curl routines at that
page.
Rgds
Denis McMahon
|
|
|