By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,152 Members | 2,039 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,152 IT Pros & Developers. It's quick & easy.

Programmatic HTTP Post returns Empty Form fields on ASPX Server Side

P: n/a
Using Winform app writing a HTTP Post using the following... on the
server side, I get no form fields. Request.Form.AllKeys.Length = 0.

If I put the field/value paris in the URL I can use
Request["FieldName"] to retrieve the values,
but POST doesn't work.

There is NO Proxy... the only thing I can think is that ASP.NET is
somehow filtering out the page because I'm obviously not posting the
viewstate??? Seems like there was some setting for this, but I can't
recall what it is.
HttpWebRequest request = (HttpWebRequest)
HttpWebRequest.Create("http://localhost/test.aspx");
WebResponse response;

string commentField = "ABCD=123";

ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(commentField);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
response = request.GetResponse();
//SERVER SIDE, test.aspx page
Page_Load()
{
//BREAK POINT SET HERE>>>>
//Request.Form.AllKeys returns nothing (0 length)
}
Mar 22 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
"ERobishaw" <ER*******@gmail.comwrote in message
news:4c**********************************@e23g2000 prf.googlegroups.com...
Using Winform app writing a HTTP Post using the following... on the
server side, I get no form fields. Request.Form.AllKeys.Length = 0.

If I put the field/value paris in the URL I can use
Request["FieldName"] to retrieve the values,
but POST doesn't work.

There is NO Proxy... the only thing I can think is that ASP.NET is
somehow filtering out the page because I'm obviously not posting the
viewstate??? Seems like there was some setting for this, but I can't
recall what it is.
HttpWebRequest request = (HttpWebRequest)
HttpWebRequest.Create("http://localhost/test.aspx");
WebResponse response;

string commentField = "ABCD=123";

ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(commentField);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
response = request.GetResponse();
//SERVER SIDE, test.aspx page
Page_Load()
{
//BREAK POINT SET HERE>>>>
//Request.Form.AllKeys returns nothing (0 length)
}
Viewstate won't impact this code. The request object is a lower level
object provided by the HttpContext that is present in any handler be that an
ASPX or ASHX etc.

I can't explain why AllKeys has a length of 0, your calling code looks good.
Have you tried the System.Net.WebClient object instead. It handles a lot of
this stuff for you:-

NameValueCollection fields = new NameValueCollection();
WebClient client = new WebClient();
fields.Add("ABCD", "123");
String response = client.UploadValues("http://localhost/test.aspx", fields);

--
Anthony Jones - MVP ASP/ASP.NET
Mar 22 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.