【原创】C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)

发布时间:2010年10月25日      浏览次数:961 次
/// <summary>
/// 模拟表单数据以POST方式提交到指定网址
/// <summary>
/// <param name="Post_URL">提交的网址</param>
/// <param name="Name_Array">要提交的字段名数组</param>
/// <param name="Data_Array">要提交的对应值数组</param>
/// <returns>返回提交后网页处理并返回的结果(字符串)</returns>
public static string Post_form_data(string Post_URL, string[] Name_Array, string[] Data_Array)
{
string STR_Result = "";
if (Name_Array.Length> 0 && Name_Array.Length == Data_Array.Length)
{
try
{
System.Net.WebClient WEBC = new System.Net.WebClient();
System.Collections.Specialized.NameValueCollection VarPost = new System.Collections.Specialized.NameValueCollection();
for (int i = 0; i < Name_Array.Length; i++ )
{
if (Name_Array[i].Trim() != "")
{
VarPost.Add(Name_Array[i].Trim(), Data_Array[i].Trim());
}
}
//将参数列表VarPost中的所有数据用POST传值的方式传给指定网址
byte[] Get_return_data = WEBC.UploadValues(Post_URL, "POST", VarPost);
STR_Result = System.Text.Encoding.UTF8.GetString(Get_return_data);
}
catch { }
}
return STR_Result.Trim();
}
#endregion
====================================
调用方法:
try
{
string[] Name_Array = { "txt1", "txt2" }; //字段名数组
string[] Data_Array = { "11", "22"}; //字段名对应的值,两个数组的长度必须相同,上下一一对应。
txt_result.Text = Post_form_data("http://localhost/test.php", Name_Array, Data_Array);
}
catch { }
我在test.php测试文件中的代码是这样写的,主要是返回显示处理的结果:
<?
$txt = $_POST;
foreach($txt as $key => $value){
      $html .= $key ." = ". $value." \n";
}
echo "您提交的数据为:\n\n".$html;
?>
以上代码均测试通过,并在使用中,如有什么问题,可以直接与本站管理员联系,联系方法请加QQ咨询或Email或直接在本站的“联系我们”提交。建议使用Email。
欢迎转载,请附上文章来源网址
文章来源:“好我要上”网络技术中心 jishu.hao513.com
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!