62,073
社区成员
发帖
与我相关
我的任务
分享
<form enctype="multipart/form-data" method="post" name="epolicyForm" action="http://e.abcde.com/d.aspx">
public void Sub()
{
NameValueCollection myCol = new NameValueCollection();
myCol.Add("ABC", "01");
myCol.Add("ABC", "02");
myCol.Add("ABC", "03");
string toubaourl = "http://e.abcde.com/d.aspx";
string toubaoresult = PostResponse(toubaourl, myCol,Encoding.GetEncoding("GB2312"));
Response.Write(toubaoresult);
}
public static string PostResponse(string url, NameValueCollection input, Encoding endoding)
{
string boundary = "----------------------------" + DateTime.Now.Ticks.ToString("x");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "multipart/form-data; boundary=" + boundary;
request.Method = "POST";
request.KeepAlive = true;
//request.Credentials = CredentialCache.DefaultCredentials;
request.Expect = "";
CookieContainer cookieCon = new CookieContainer();
request.CookieContainer = cookieCon;
request.CookieContainer.SetCookies(new Uri(url), cookieheader);
MemoryStream stream = new MemoryStream();
byte[] line = Encoding.ASCII.GetBytes("--" + boundary + "\r\n");
byte[] enterER = Encoding.ASCII.GetBytes("\r\n");
//提交文本字段
if (input != null)
{
string format = "--" + boundary + "\r\nContent-Disposition:form-data;name=\"{0}\"\r\n\r\n{1}\r\n";
foreach (string key in input.Keys)
{
string s = string.Format(format, key, input[key]);
byte[] data = Encoding.UTF8.GetBytes(s);
stream.Write(data, 0, data.Length);
}
}
byte[] foot_data = Encoding.UTF8.GetBytes("--" + boundary + "--\r\n"); //项目最后的分隔符字符串需要带上--
stream.Write(foot_data, 0, foot_data.Length);
request.ContentLength = stream.Length;
Stream requestStream = request.GetRequestStream(); //写入请求数据
stream.Position = 0L;
stream.CopyTo(requestStream);
stream.Close();
requestStream.Close();
try
{
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
try
{
using (var responseStream = response.GetResponseStream())
using (var mstream = new MemoryStream())
{
responseStream.CopyTo(mstream);
string message = endoding.GetString(mstream.ToArray());
return message;
}
}
catch (Exception ex)
{
throw ex;
}
}
catch (WebException ex)
{
throw ex;
}
}
catch (Exception ex)
{
throw ex;
}
}