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

投稿をトリガーするだけのページにリダイレクトすることは、多くの不要な作業のように思われ、返されたソース コードを調べることができなくなります。

WebRequestクラスとWebResponseクラスを使用することをお勧めします。コードでは、POST する URL とデータを使用して WebRequest を作成します。次に、それを POST として送信し、応答オブジェクトを取得します。その後、クライアントに書き戻す前に、応答の内容 (ソース コード) を調べることができます。

于 2013-05-13T13:00:28.997 に答える