Solved

Faking a POST

Posted on 1998-05-30
4
174 Views
Last Modified: 2013-12-25
I'm building a program that automates some web-research that I do on a regular basis. The prog is based around a simple telnet client and connects to various webservers to get it's info.

GET stuff is easy but even though I have the original RFC documents I cannot seem to find a good demonstration of how the POST mechanism works.

I am assuming that it uses a header with the infomation being sent to the CGI going in name = value pairs. Can anyone give me a good example of what these headers look like?

A straight dump of what a browser sends when actioning a FORM with POST method would be perfect.


Thanks
Marty
0
Comment
Question by:mravell
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 7

Accepted Solution

by:
faster earned 200 total points
ID: 1829015
It is not in a header.

For example:

POST /test.cgi HTTTP/1.0\r\n
Content-Length: 14\r\n
\r\n
name=12&age=21

0
 
LVL 7

Expert Comment

by:faster
ID: 1829016
Please note that an empty line is the end of headers, then the body comes which contains the form data.  Content-Length should contain the length of the body.

Normally the request generated by browser is more complex, but the above-mentioned is the ones that really matters.

Below is a real request (when the browser uses to a proxy)

POST http://dilbert.eccs.ap:82/u/EN/dbilogin/cgi/login_main.cgi HTTP/1.0
Accept: application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Referer: http://dilbert.eccs.ap:82/u/EN/dbilogin/cgi/login_main.cgi?URI=http%3a//dilbert.eccs.ap%3a82/p/EN/home/cgi/DBI_home.cgi
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)
Host: dilbert.eccs.ap:82
Content-Length: 129
Pragma: No-Cache

postdata...

Refer to RFC1945 for detail.
0
 

Author Comment

by:mravell
ID: 1829017
Hi faster,

Thanks for the reply. This is exactly what I needed!

How did you get the example you included in the reply? I have another question open in C and CGI areas asking for a network sniffer utility that would have let me find this stuff out myself. If you have such a beast you could get the points from those Q's as well. (I'd still like to get my hands on such a program)


Thanks
Marty
0
 
LVL 7

Expert Comment

by:faster
ID: 1829018
I used my proxy server to get the request from browser, so it is not really a sniffer.
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will focus on how to use WhizBase as a tool for sending ICQ messages to ICQ. Here I will use a new technology in WhizBase, published in WhizBase 5.1 version. In this tutorial I will use 3 files, pager.wbsp for the processing, e…
Batch, VBS, and scripts in general are incredibly useful for repetitive tasks.  Some tasks can take a while to complete and it can be annoying to check back only to discover that your script finished 5 minutes ago.  Some scripts may complete nearly …
Learn the basics of if, else, and elif statements in Python 2.7. Use "if" statements to test a specified condition.: The structure of an if statement is as follows: (CODE) Use "else" statements to allow the execution of an alternative, if the …
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question