c# - WebRequest 到 POST 数据但是隐藏字段呢?

标签 c# webrequest

我基本上需要将一些隐藏字段发布到页面,我需要将其加载到 浏览器窗口。

这是针对第 6 页的 SagePay 表单集成: http://www.docstoc.com/docs/10745827/Sage-Pay-Form-Protocol-and-Integration-Guidelines

我已经在使用 WebRequest 创建 POST,但我该如何发送他们需要的 4 个隐藏字段?

此外,我如何将返回的 html 加载到浏览器中;这个 html 来自 SagePay,客户可以在其中输入他们的信用卡详细信息?

public string SendRequest(string url, string postData)
    {
        var uri = new Uri(url);
        var request = WebRequest.Create(uri);
        var encoding = new UTF8Encoding();
        var requestData = encoding.GetBytes(postData);

        request.ContentType = "application/x-www-form-urlencoded";
        request.Method = "POST";
        request.Timeout = (300 * 1000); //TODO: Move timeout to config
        request.ContentLength = requestData.Length;

        using (var stream = request.GetRequestStream())
        {
            stream.Write(requestData, 0, requestData.Length);
        }

        var response = request.GetResponse();

        string result;

        using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
        {
            result = reader.ReadToEnd();
        }

        return result;
    }

最佳答案

只需将 4 个隐藏字段添加到 postData 字符串中。这可以在此方法中或在请求中即时完成。

“隐藏”方面仅在浏览器中的 GUI 方面隐藏。

关于c# - WebRequest 到 POST 数据但是隐藏字段呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918817/

相关文章:

c# - 尽管有 UI 上下文,但任务 ContinueWith 导致跨线程异常

c# - 位置之间的 XNA 滑行/缓动

c# - 从 Java 到 C++ 或 C#

c# - 在 C# 中通过 TcpClient 套接字发送 SSL HTTP 请求

javascript - 在服务器中找不到 ckeditor.js 但可以在本地运行

c# - 需要接口(interface)方面的建议

php - 带有 PHP POST 的 VB.NET WebRequest

powershell - 使用 PowerShell 抓取使用单点登录的网页?

c# - WebRequest.CachePolicy 是否应该在 IIS 中运行的代码中工作?

c# - HttpClient 的 ReadWriteTimeout 替代方案是什么