我試圖獲取以編程方式創建的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
,分別),因爲我想達到外部網站
如何將生成的表單提交給外部網站?請注意,本網站確實要求我提交表格,因此任何其他不涉及提交表格的解決方案都不具有建設性。