我试图获取以编程方式创建的HtmlForm
到外部网站的值。本网站要求将数据作为POST
发送,因为它可能包含合理的信息。如何以编程方式将代码从代码提交到外部网站
我生成的JSON响应这样的HtmlForm
:
JObject jsonResponseActionData = (JObject)joResponse["action_data"];
var redirectURL = (JValue)jsonResponseActionData["url"];
HtmlForm form= new HtmlForm {
Method = "post",
Action = redirectURL.ToString()
};
var inputTypeString = "<input type=\"text\" name=\"inputName\" value=\"inputValue\">";
foreach (var obj in jsonResponseFields) {
if (obj.Value.ToString() == "") {
form.InnerHtml += inputTypeString.Replace("inputName", obj.Key).Replace("inputValue", "").Replace(">", " disabled >");
} else {
form.InnerHtml += inputTypeString.Replace("inputName", obj.Key).Replace("inputValue", obj.Value.ToString());
}
}
如果我把它写像这样为HTML文件,并添加一个提交按钮的话,我可以提交这样的外部网站所以我能够接受JSon-Response并正确提取所有信息。
我曾尝试:
- 添加一个隐藏的表单元素的apsx页,但this isn't possible and results in an empty stack error
- submitting it with
Server.Transfer
andResponse.Redirect
,但都抛出异常(System.ArgumentException
和ThreadAbortException
,分别),因为我想达到外部网站
如何将生成的表单提交给外部网站?请注意,本网站确实要求我提交表格,因此任何其他不涉及提交表格的解决方案都不具有建设性。