Estoy tratando de simular una POST a un formulario en un servidor externo que no requiere ninguna autenticación, y capturar una picadura que contiene la página resultante. Esta es la primera vez que hago esto, así que estoy buscando ayuda con lo que tengo hasta ahora. Esto es lo que se ve la forma como:Usando HttpWebRequest para POSTAR a un formulario en un servidor externo
<FORM METHOD="POST" ACTION="/controller" NAME="GIN">
<INPUT type="hidden" name="JSPName" value="GIN">
Field1:
<INPUT type="text" name="Field1" size="30"
maxlength="60" class="txtNormal" value="">
</FORM>
Esto es lo que se ve mi código como:
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "Field1=VALUE1&JSPName=GIN";
byte[] data = encoding.GetBytes(postData);
// Prepare web request...
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("https://XXX/controller");
myRequest.Method = "POST";
myRequest.ContentType = "text/html";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
// Send the data.
newStream.Write(data, 0, data.Length);
StreamReader reader = new StreamReader(newStream);
string text = reader.ReadToEnd();
MessageBox.Show(text);
newStream.Close();
Actualmente, el código devuelve "Stream no era legible".
Bah, me adelantó;) – jvenema
Considerando su representante, creo que es mejor que un montón de gente a la misma. –
¿Hay alguna razón lógica por la que esto no funcionaría en una acción de controlador? – klkitchens