Web请求POST数据但隐藏字段呢?

时间:2010-10-12 20:37:09

标签: c# webrequest

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

这是针对SagePay表单集成的第6页: 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;
    }

1 个答案:

答案 0 :(得分:1)

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

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