c# - 使用 HttpWebRequest POST 到外部服务器上的表单

标签 c# asp.net httprequest

我正在尝试模拟一个不需要任何身份验证的外部服务器上的表单的 POST,并捕获包含结果页面的字符串。这是我第一次这样做,所以我正在寻求一些关于我目前所拥有的帮助。这是表单的样子:

<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>

我的代码是这样的:

    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();

目前,代码返回“Stream was not readable”。

最佳答案

您想读取响应流:

using (var resp = myRequest.GetResponse())
{
    using (var responseStream = resp.GetResponseStream())
    {
        using (var responseReader = new StreamReader(responseStream))
        {
        }
    }
}

关于c# - 使用 HttpWebRequest POST 到外部服务器上的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136857/

相关文章:

AndroidStudio aws django : HttpUrlConnection not working

javascript - 在生产中使用 css/javascript source-maps 的性能影响?

powershell - “API版本无效

c# - 如何避免代码中枚举值与数据库中相应值之间的依赖关系?

c# - 给定 IP 地址和子网掩码,如何计算 CIDR?

asp.net - AngularJS 事件与 ASP.NET UpdatePanel

javascript - 从 asp.net 中的代码隐藏文件获取 json 到 javascript

c# - for中的多个语句

c# - 将变量从 C# 传递到 PowerShell 不起作用

asp.net - 使用从独立 html 页面返回 json 的 asp.net Web 服务