C# コード
Response.Clear();
string postbackUrl = "https://payeer.com/ajax/api/api.php";
string account = "620913";
string orderid = "77777";
string amount = Convert.ToDecimal(IncreaseUSDtxb.Text).ToString("N2");
string units = "USD";
string key = "test1";
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>", postbackUrl);
sb.AppendFormat("<input type='hidden' name='m_shop' value='{0}'>", account);
sb.AppendFormat("<input type='hidden' name='m_orderid' value='{0}'>", orderid);
sb.AppendFormat("<input type='hidden' name='m_amount' value='{0}'>", amount);
sb.AppendFormat("<input type='hidden' name='m_curr' value='{0}'>", units);
sb.AppendFormat("<input type='hidden' name='m_key' value='{0}'>", key);
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");
Response.Write(sb.ToString());
Response.End();
通常、このコードを使用すると、サード パーティの Web サイトにデータを投稿し、ユーザーをそれらの Web サイトにリダイレクトして、次のコマンドを使用して回答を取得できます。
System.Collections.Specialized.NameValueCollection ReadForm = Request.Form;
yourvariable == ReadForm["requestedcolumn"]
これは、postbackUrl で投稿先の URL として「.asp」ページを使用すると、エラーなしで発生します。ただし、この場合、上記のコードによって api.php がダウンロードされますが、ブラウザーでhttps://payeer.com/ajax/api/api.phpを開くことはできますが、もちろん問題なく空白のページが表示されます。
.php ページにリダイレクトするのではなく、このコードをダウンロードする問題を解決するにはどうすればよいですか?
更新: 解決しました。どうやら、何らかの理由で、PostBackUrl またはフォーム アクションで "www" を使用せずに正しい形式でリンクを指定すると、この場合、"www" を含めてリダイレクトするのではなく、具体的には ".php" リソースをダウンロードします。
更新するコードで post アクションが正しく機能するかどうかはまだわかりませんが、php 以外のサードパーティ リソースの場合は正しく機能するはずです。