0

我有一个应用程序,我使用“发布”方法将一些数据发送到第三方应用程序。然后,第三方应用程序使用我发布的数据运行一些 java,然后它为我提供了一个 html 页面。我是否有任何可能以编程方式进行审查这个渲染页面的源代码找到一些数据就可以了?

NameValueCollection data = new NameValueCollection();
data.Add("v1", "val1");
data.Add("v2", "val2");
HttpClass.RedirectAndPOST(this.Page, "http://DestUrl/Default.aspx", data);



 public static void RedirectAndPOST(Page page, string destinationUrl, 
                               NameValueCollection data)
 {
 //Prepare the Posting form
 string strForm = PreparePOSTForm(destinationUrl, data);
  //Add a literal control the specified page holding 
 //the Post Form, this is to submit the Posting form with the request.
  page.Controls.Add(new LiteralControl(strForm));
  }
  public static void RedirectAndPOST(Page page, string destinationUrl, 
                               NameValueCollection data)
  {
  //Prepare the Posting form
  string strForm = PreparePOSTForm(destinationUrl, data);
  //Add a literal control the specified page holding 
  //the Post Form, this is to submit the Posting form with the request.
  page.Controls.Add(new LiteralControl(strForm));
  }

 private static String PreparePOSTForm(string url, NameValueCollection data)
  {
 //Set a name for the form
 string formID = "PostForm";
 //Build the form using the specified data to be posted.
 StringBuilder strForm = new StringBuilder();
 strForm.Append("<form id=\"" + formID + "\" name=\"" + 
               formID + "\" action=\"" + url + 
               "\" method=\"POST\">");

 foreach (string key in data)
 {
    strForm.Append("<input type=\"hidden\" name=\"" + key + 
                    "\" value=\"" + data[key] + "\">");
 }

 strForm.Append("</form>");
 //Build the JavaScript which will do the Posting operation.
 StringBuilder strScript = new StringBuilder();
 strScript.Append("<script language="'javascript'">");
 strScript.Append("var v" + formID + " = document." + 
                 formID + ";");
 strScript.Append("v" + formID + ".submit();");
 strScript.Append("</script>");
 //Return the form and the script concatenated.
 //(The order is important, Form then JavaScript)
 return strForm.ToString() + strScript.ToString();
 }
4

1 回答 1

0

重定向到仅触发帖子的页面似乎是很多不必要的工作,并且会阻止您检查返回的源代码。

我会推荐使用WebRequestWebResponse类。在您的代码中,您使用要发布的 URL 和数据创建一个 WebRequest。然后将其作为 POST 提交,并获取响应对象。然后,您可以在将响应内容(源代码)写回客户端之前对其进行检查。

于 2013-05-13T13:00:28.997 回答