Using the POST method with HttpWebRequest

T

Tony

Hi all,

I can use the HttpWebRequest object to scrape a page with
a GET. However, if I need to post some data do a page,
how do I do that? I can set the method property
to "POST", but then how do I tell it what data to send
(ie "zip=12345&month=5")?

Thanks
 
M

Martin Honnen

Tony said:
I can use the HttpWebRequest object to scrape a page with
a GET. However, if I need to post some data do a page,
how do I do that? I can set the method property
to "POST", but then how do I tell it what data to send
(ie "zip=12345&month=5")?

Use GetRequestStream() and write the data to the stream and close the
stream after you have set the method to POST.
 
E

Eric Veltman

Tony said:
I can use the HttpWebRequest object to scrape a page with
a GET. However, if I need to post some data do a page,
how do I do that? I can set the method property
to "POST", but then how do I tell it what data to send
(ie "zip=12345&month=5")?

Hello Tony,

I've never done this myself, but I think you need
to use the GetRequestStream() method and then use
the returned stream to send the data to the server.

Best regards,

Eric
 
V

vMike

Here is a real simple cookieless example this is a snip where stringPost is
the string of data you want to post and stringResponse is a string which
will hold the response.

Dim mgWebRequest As HttpWebRequest
Dim mgWebResponse As HttpWebResponse
Dim mgStreamWriter As StreamWriter
Dim mgStreamReader As StreamReader
mgWebRequest =CType(WebRequest.Create(http://post.site.com) ,
HttpWebRequest)
mgWebRequest.Method = "POST"
mgWebRequest.ContentLength = stringPost.Length
mgWebRequest.ContentType = "application/x-www-form-urlencoded"
mgStreamWriter = Nothing
mgStreamWriter = New StreamWriter(mgWebRequest.GetRequestStream())
mgStreamWriter.Write(stringPost)
mgStreamWriter.Close()
mgWebResponse = CType(mgWebRequest.GetResponse(),HttpWebResponse)
mgStreamReader = New StreamReader(mgWebResponse.GetResponseStream())
stringResult = mgStreamReader.ReadToEnd()
mgStreamReader.Close()


It gets much more complicated if you need to pass or receive cookies or
files.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top