110,539
社区成员
发帖
与我相关
我的任务
分享
string url = "http://my.b2b.hc360.com/my/turbine/template/corcenter,company,main.html&renew=true";
string param="LoginID=stxszp&password=1qazxsw2&logincode=";
public virtual string HttpPost(string url, string param)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
request.Timeout = 15000;
request.AllowAutoRedirect = true;
StreamWriter requestStream = null;
WebResponse response = null;
string responseStr = null;
try
{
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close();
response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (Exception)
{
throw;
}
finally
{
request = null;
requestStream = null;
response = null;
}
return responseStr;
}
public string Login(string postData, string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 10000;
request.ContentLength = Encoding.UTF8.GetByteCount(postData);
request.AllowAutoRedirect = false;
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
myStreamWriter.Write(postData);
myStreamWriter.Close();
myRequestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.Found)
{
return response.Headers["Set-Cookie"];
}
else
{
return "";
}
}
catch
{
return "";
}
}
private void btnOK_Click(object sender, EventArgs e)
{
string postData = "LoginID=stxszp&password=1qazxsw2&logincode=";
string url = "http://my.b2b.hc360.com/my/turbine/template/corcenter,company,main.html&renew=true";
string cookie=Login(postData,url);
url = "http://my.b2b.hc360.com/my/turbine/template/corcenter,business,businpas.html?querysorttag=0";
postData = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add("Cookie", cookie);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 10000;
request.ContentLength = Encoding.UTF8.GetByteCount(postData);
request.AllowAutoRedirect = false;
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
myStreamWriter.Write(postData);
myStreamWriter.Close();
myRequestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
string endStr = reader.ReadToEnd();
reader.Close();
}
按你说的做了 是得到JSESSIONID了 可是访问内页的时候还是不成功 AllowAutoRedirect = false的话就返回空值了
麻烦你了 再帮我看下吧 这块真的不懂
非常感谢
public string Login(string _u,string _p)
{
try
{
string postData = "LoginID=stxszp&password=1qazxsw2&logincode=";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://my.b2b.hc360.com/my/turbine/template/corcenter,company,main.html&renew=true");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 10000;
request.ContentLength = Encoding.UTF8.GetByteCount(postData);
request.AllowAutoRedirect = false;
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
myStreamWriter.Write(postData);
myStreamWriter.Close();
myRequestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.Found)
{
return response.Headers["Set-Cookie"];
}else{
return "";
}
}
catch {
return "";
}
}
在没有验证码情况下登录,登录如果返回不为空,那么你获取JSESSIONID=******; 这段返回的Cookie,以后操作时候在request.Headers.Add("Cookie","JSESSIONID=****;")就可以正常操作了