使用HttpClient进行表单提交

时间:2017-08-24 04:42:50

标签: c# httpclient payment-gateway

在C#代码中,我需要将表单发布到支付网关的其他网站, 我可以通过在我的webform上添加一些html标签并在body load上提交页面来实现。我想用HttpClient以更合适的方式做到这一点。 但是当我用我的数据值将我的http调用发布到客户端URL时。我的页面不会将我重定向到支付网站。有任何我的代码以相同的方式工作,就像我发布我的表格manualy。 这是表单submisttion manualy的代码片段:(其工作)

<form action="https://somewebsite.com/someurl" method="POST" target="_blank"> <input name="token" value="MyTokenParameter" hidden = "true"/> 
<input name="postBackURL" value="http://mywebsite.com/status.aspx" hidden = "true"/> 
<input value="confirm" type = "submit" name= "pay"/> 
</form>

以下是我的C#代码,用httpclient提交相同的数据:(不会将用户重定向到付款网站)

private async Task ProcessAsyncRequest()
{
    using (var client = new HttpClient())
    {
        var values = new List<KeyValuePair<string, string>>();
        values.Add(new KeyValuePair<string, string>("token", "MyTokenParameter"));
        values.Add(new KeyValuePair<string, string>("postBackURL","http://mywebsite.com/status.aspx"));
        var content = new FormUrlEncodedContent(values);
        var response = await client.PostAsync("https://somewebsite.com/someurl",content);
        var responseString = await response.Content.ReadAsStringAsync();
        Response.Write(responseString);
    }
}

是否可以使用httpclient让用户移动到客户端站点作为响应?

0 个答案:

没有答案