110,533
社区成员
发帖
与我相关
我的任务
分享
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strLoginURL);
CookieContainer objcok = new CookieContainer();
request.CookieContainer = objcok;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
objcok.Add(response.Cookies);
//request = (HttpWebRequest)WebRequest.Create(strLoginURL);
response = (HttpWebResponse)request.GetResponse();
// 获取响应流
Stream responseStream = response.GetResponseStream();
// 对接响应流(以"GBK"字符集)
StreamReader sReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
// 开始读取数据
Char[] sReaderBuffer = new Char[256];
int count = sReader.Read(sReaderBuffer, 0, 256);
while (count > 0)
{
String tempStr = new String(sReaderBuffer, 0, count);
content.Append(tempStr);
count = sReader.Read(sReaderBuffer, 0, 256);
}
// 读取结束
sReader.Close();
Request.Cookies[varName].Value
你的代码中都没有获取cookie的代码的,详细内容参考下面两篇博文:
http://www.cnblogs.com/shengchanlix/archive/2011/08/29/2158987.html
http://www.cnblogs.com/freeliver54/archive/2013/04/09/3011059.html string strLoginURL = "https://passport.baidu.com/v2/api/?getapi&class=login&tpl=mn&tangram=false";
string cookiesStr;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strLoginURL);
request.CookieContainer = new CookieContainer();
//取cookies
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
var cookies = response.Cookies;
//关键是这条,至于cookiesStr为什么要这样你可以通过ie(开发人员工具分析)
cookiesStr = string.Format("{0}={1};{2}={3}", cookies[1].Name, cookies[1].Value, cookies[0].Name, cookies[0].Value);
}
request = (HttpWebRequest)WebRequest.Create(strLoginURL);
//关键是这条,至于cookiesStr为什么要这样你可以通过ie(开发人员工具分析)
request.Headers.Add("Cookie", cookiesStr);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// 获取响应流
using (Stream responseStream = response.GetResponseStream())
{
StreamReader sReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
//带你要求的bdPass.api.params.login_token
richTextBox1.AppendText(sReader.ReadToEnd());
// 读取结束
sReader.Close();
}
}
你的cookie CookieContainer 的形式发 过去不成功(估计cookie索引颠倒引起的)你可以用字符串发过去呀,像这样的例子最好用IE 的开发人员工具(F12)分析分析,或者用别的封包分析软件分析一下再提交