如题?
解决方案 »
- c#怎么封装快播(QVOD)
- 帮忙把这段js转成C#
- 使用線程後在VS開發工具裏面老出現如下的提示框,如何讓它消失?
- 关于域用户管理的问题
- [50分]请问有没有封装好了Win32_API的托管DLL
- 文本框得到焦点的事件该怎么写?
- 急 在线等 直接取值 怎么取 http://aaa.com/test.aspx?1
- MSMQ消息队列下文件传输例子
- 绝对有趣,绝对有意义的问题:在WebForm中动态加载WinFrom(用户控件)并传递参数
- 求用C#开发的网上调查程序,关键是显示部分,结贴率100%
- 动态checkbox怎么给他定位啊要不都挤到一起了
- 怎样在我的网页中增加可以让用户浏览网页时,下载我的控件的功能
{ html = Http.GetHtml("http://www.xsxsxsxs.ccc", out aspcookie);
aspcookie = aspcookie.Split(';')[0];
string postData =
"qitopic_mingchen=%C4%E4%C3%FB%C8%CB%CA%BF&password="+url[3]+"&edit=bbbbbbbbb";
string header;
string returnHtml = Http.GetHtml("http://www.xsxsxsxs.ccc", postData, aspcookie, out header); //login
richTextBox1.AppendText(returnHtml);
}
{
public static string GetHtml(string URL)
{
WebRequest wrt;
wrt = WebRequest.Create(URL);
wrt.Credentials = CredentialCache.DefaultCredentials;
WebResponse wrp;
wrp = wrt.GetResponse();
return new StreamReader(wrp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
}
public static string GetHtml(string URL, out string cookie)
{
WebRequest wrt;
wrt = WebRequest.Create(URL);
wrt.Credentials = CredentialCache.DefaultCredentials;
WebResponse wrp; wrp = wrt.GetResponse(); string html = new StreamReader(wrp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
cookie = wrp.Headers.Get("Set-Cookie");
return html;
}
public static string GetHtml(string URL, string postData, string cookie, out string header)
{
return GetHtml("http://gubapost.eastmoney.com", URL, postData, cookie, out header);
}
public static string GetHtml(string server, string URL, string postData, string cookie, out string header)
{
byte[] byteRequest = Encoding.Default.GetBytes(postData);
return GetHtml(server, URL, byteRequest, cookie, out header);
}
public static string GetHtml(string server, string URL, byte[] byteRequest, string cookie, out string header)
{
byte[] bytes = GetHtmlByBytes(server, URL, byteRequest, cookie, out header);
Stream getStream = new MemoryStream(bytes);
StreamReader streamReader = new StreamReader(getStream, Encoding.UTF8);
string getString = streamReader.ReadToEnd();
streamReader.Close();
getStream.Close();
return getString;
}
public static byte[] GetHtmlByBytes(string server, string URL, byte[] byteRequest, string cookie,out string header)
{
long contentLength;
HttpWebRequest httpWebRequest;
HttpWebResponse webResponse;
Stream getStream; httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(URL);
CookieContainer co = new CookieContainer();
co.SetCookies(new Uri(server), cookie); httpWebRequest.CookieContainer = co; httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.Accept =
"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-shockwave-flash, */*";
httpWebRequest.Referer = "http://guba.eastmoney.com/look,gssz,8181701.html";
httpWebRequest.UserAgent =
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
httpWebRequest.Method = "Post";
httpWebRequest.ContentLength = byteRequest.Length;
Stream stream;
stream = httpWebRequest.GetRequestStream();
stream.Write(byteRequest, 0, byteRequest.Length);
stream.Close();
webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
header = webResponse.Headers.ToString();
getStream = webResponse.GetResponseStream();
contentLength = webResponse.ContentLength; byte[] outBytes = new byte[contentLength];
outBytes = ReadFully(getStream);
getStream.Close();
return outBytes;
}
public static byte[] ReadFully(Stream stream)
{
byte[] buffer = new byte[128];
using (MemoryStream ms = new MemoryStream())
{
while (true)
{
int read = stream.Read(buffer, 0, buffer.Length);
if (read <= 0)
return ms.ToArray();
ms.Write(buffer, 0, read);
}
}
}
public static string GetHtml(string URL, string cookie, out string header)
{
return GetHtml(URL, cookie, out header, "http://gubapost.eastmoney.com");
}
public static string GetHtml(string URL, string cookie, out string header, string server)
{
HttpWebRequest httpWebRequest;
HttpWebResponse webResponse;
Stream getStream;
StreamReader streamReader;
string getString = "";
httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(URL);
httpWebRequest.Accept = "*/*";
httpWebRequest.Referer = "http://guba.eastmoney.com/topic,hxnc.html";
CookieContainer co = new CookieContainer();
co.SetCookies(new Uri(server), cookie);
httpWebRequest.CookieContainer = co;
httpWebRequest.UserAgent =
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
httpWebRequest.Method = "GET";
webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
header = webResponse.Headers.ToString();
getStream = webResponse.GetResponseStream();
streamReader = new StreamReader(getStream, Encoding.UTF8);
getString = streamReader.ReadToEnd();
streamReader.Close();
getStream.Close();
return getString;
}
#region --stream--
public static Stream GetStreamByBytes(string server, string URL, byte[] byteRequest, string cookie,
out string header)
{
Stream stream = new MemoryStream(GetHtmlByBytes(server, URL, byteRequest, cookie, out header));
return stream;
}
#endregion
}
2,获取你需要POST的数据,
3,httpWebRequest POST 登陆信息,即可。有时候可能需要多次跳转,自己在具体分析。