C# post 如何传多个值 20
想写个自动登录网页的小程序程序是用C#写网页时ASP写的用POST提交数据两天过去了却没有一点进展原因是我传两个以上的值给网页(username,pwd,type),但网...
想写个自动登录网页的小程序 程序是用C#写 网页时ASP写的用POST提交数据 两天过去了 却没有一点进展 原因是我传两个以上的值给网页(username,pwd,type),但网页却只能接受一个值 网页时第三方做的不能修改,望大虾指点一二。以下是我的代码:
CookieContainer cc = new CookieContainer();
public String OpenURL(String strUrl, String strParm)
{
strParm="name=" + textBox1.Text.ToString() + " & password=" + textBox2.Text.ToString()+"";
Encoding encode = System.Text.Encoding.Default;
byte[] arrB = encode.GetBytes(strParm);
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);
myReq.Method = "POST" ;
myReq.ContentType = "application/x-www-form-urlencoded";
myReq.ContentLength = arrB.Length;
Stream outStream = myReq.GetRequestStream();
myReq.CookieContainer = cc;
outStream.Write(arrB,0,arrB.Length);
outStream.Close();
HttpWebResponse response = (HttpWebResponse)myReq.GetResponse();
cc.Add(response.Cookies);
Stream stream = response.GetResponseStream();
string sHtml = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
this.textBox3.Text = sHtml.ToString();
response.Close();
return sHtml;}
代码是COPY的 有些看不懂 如果大虾您有空 麻烦也给写点注释吧! 展开
CookieContainer cc = new CookieContainer();
public String OpenURL(String strUrl, String strParm)
{
strParm="name=" + textBox1.Text.ToString() + " & password=" + textBox2.Text.ToString()+"";
Encoding encode = System.Text.Encoding.Default;
byte[] arrB = encode.GetBytes(strParm);
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);
myReq.Method = "POST" ;
myReq.ContentType = "application/x-www-form-urlencoded";
myReq.ContentLength = arrB.Length;
Stream outStream = myReq.GetRequestStream();
myReq.CookieContainer = cc;
outStream.Write(arrB,0,arrB.Length);
outStream.Close();
HttpWebResponse response = (HttpWebResponse)myReq.GetResponse();
cc.Add(response.Cookies);
Stream stream = response.GetResponseStream();
string sHtml = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
this.textBox3.Text = sHtml.ToString();
response.Close();
return sHtml;}
代码是COPY的 有些看不懂 如果大虾您有空 麻烦也给写点注释吧! 展开
展开全部
把要传的值放在一个string 类型的变量中,选择一种符号隔开
例如string str= username+"|"+ pwd+"|"+ type
传值例如:xxx.aspx?str
传到目标页面接受strReq=Request.QueryString["str"].ToString();
对象获取到放在一个string [] str1=strReq.spilt(‘|’); username=str[0].tostring();
pwd=str[1].tostring();
type=str[2].tostring();
例如string str= username+"|"+ pwd+"|"+ type
传值例如:xxx.aspx?str
传到目标页面接受strReq=Request.QueryString["str"].ToString();
对象获取到放在一个string [] str1=strReq.spilt(‘|’); username=str[0].tostring();
pwd=str[1].tostring();
type=str[2].tostring();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string username = System.Web.HttpUtility.UrlEncode(textBox1.Text);
string strParm = String.Format("username={0}&pwd={1}&type={2}", username, pwd, type);
username, pwd, type的值是需要进行UrlEncode的
再就是,字符编码要和接收的页面一致.
byte[] arrB = Encoding.GetEncoding("GB2312").GetBytes(strParm);
string strParm = String.Format("username={0}&pwd={1}&type={2}", username, pwd, type);
username, pwd, type的值是需要进行UrlEncode的
再就是,字符编码要和接收的页面一致.
byte[] arrB = Encoding.GetEncoding("GB2312").GetBytes(strParm);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询