小弟写了一个关于网页自动登录的程序,遇到了问题,请各位大哥给我指点迷津 本帖最后由 amandag 于 2010-08-02 12:48:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能烦请yixiangling大哥解答一下吗? 用 HttpWebRequest和HttpWebResponse 来做,比你的这种通过操作webBrowser的方法要好很多我做的软件就是用的这个 去baidu 或 google 搜c# http post 这个关键词你就知道怎么做了 你这种情况直接用HttpWebRequest来实现就可以了,给你贴一段源码public string GetPage(string url, string postData, out string err) { err = ""; Stream outstream = null; Stream instream = null; StreamReader sr = null; HttpWebResponse response = null; HttpWebRequest request = null; Encoding encoding = Encoding.Default; byte[] data = encoding.GetBytes(postData); // 准备请求... try { // 设置参数 request = WebRequest.Create(url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; outstream = request.GetRequestStream(); outstream.Write(data, 0, data.Length); outstream.Close(); //发送请求并获取相应回应数据 response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 instream = response.GetResponseStream(); sr = new StreamReader(instream, encoding); //返回结果网页(html)代码 string content = sr.ReadToEnd(); err = string.Empty; return content; } catch (Exception ex) { err = ex.Message; return string.Empty; } }调用的时候直接GetPage传入POST/GET的URL和需要POST的数据,如id=xxx&psd=xxx像你的代码就用GetPage("http://crmbak.sh.ctc.com/ecommunications_bak/start.swe","SWEUserName=chengyaoying&SWEPassword=c123456"); getpage这个方法怎么才能用啊?能否具体介绍一下 [散分]送新人,为什么不推荐这样写,这样写有啥问题? 这样的键盘钩子是如何实现? C#如何打包axRealAudio 数据库统计显示问题! 如何将二进制序列化信息保存到数据库! 关于UdpClient的P2P问题,请高手指教! 做个Table编辑器???? C/S 服务方面 疑问 请解惑 谢谢 [疑问]用GDI+绘图曲线时,为何会出现锯齿形状?该怎么解决? 如何在toolbar加上一个gif动画 怎么实现同时关闭两个窗体 .net多线程多窗体程序的疑惑
我做的软件就是用的这个
{
err = "";
Stream outstream = null; Stream instream = null; StreamReader sr = null; HttpWebResponse response = null; HttpWebRequest request = null; Encoding encoding = Encoding.Default; byte[] data = encoding.GetBytes(postData); // 准备请求... try
{ // 设置参数 request = WebRequest.Create(url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; outstream = request.GetRequestStream(); outstream.Write(data, 0, data.Length); outstream.Close(); //发送请求并获取相应回应数据 response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 instream = response.GetResponseStream(); sr = new StreamReader(instream, encoding); //返回结果网页(html)代码 string content = sr.ReadToEnd(); err = string.Empty; return content; } catch (Exception ex)
{ err = ex.Message; return string.Empty; } }调用的时候直接GetPage传入POST/GET的URL和需要POST的数据,如id=xxx&psd=xxx
像你的代码就用
GetPage("http://crmbak.sh.ctc.com/ecommunications_bak/start.swe","SWEUserName=chengyaoying&SWEPassword=c123456");