.net下直接和服务器交互的问题

问题描述

现在我是想在.net下直接和某网站服务器直接交互,或者是直接操作,请问有什么思路我看了前辈的一篇文章。关于利用HttpWebRequest和HttpWebResponse自动登录一个网站代码如下:usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Net;usingSystem.IO;usingSystem.Text;namespacedenglu{///<summary>///SummarydescriptionforWebForm1.///</summary>publicclassWebForm1:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.LabelLabel1;protectedSystem.Web.UI.WebControls.TextBoxTextBox2;protectedSystem.Web.UI.WebControls.LabelLabel2;protectedSystem.Web.UI.WebControls.TextBoxTextBox1;privatevoidPage_Load(objectsender,System.EventArgse){getPage("http://www.163.com","username=test_denglu&passwd=zou147258369&ok=确定",TextBox1);Label1.Text=TextBox1.Text;//getPage("https://www.nsldsfap.ed.gov/secure/lnhist.asp","Action=Retrieve&SSN=177602189&FirstName=&DOB=",TextBox2);//Label2.Text=TextBox2.Text;}publicvoidgetPage(Stringurl,StringparamList,TextBoxparamTextBox){WebResponseresult=null;try{WebRequestreq=WebRequest.Create(url);req.Method="POST";req.ContentType="application/x-www-form-urlencoded";StringBuilderUrlEncoded=newStringBuilder();Char[]reserved={'?','=','&'};byte[]SomeBytes=null;if(paramList!=null){inti=0,j;while(i<paramList.Length){j=paramList.IndexOfAny(reserved,i);if(j==-1){UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i,paramList.Length-i)));break;}UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i,j-i)));UrlEncoded.Append(paramList.Substring(j,1));i=j+1;}SomeBytes=Encoding.UTF8.GetBytes(UrlEncoded.ToString());req.ContentLength=SomeBytes.Length;StreamnewStream=req.GetRequestStream();newStream.Write(SomeBytes,0,SomeBytes.Length);newStream.Close();}else{req.ContentLength=0;}result=req.GetResponse();StreamReceiveStream=result.GetResponseStream();Encodingencode=System.Text.Encoding.GetEncoding("utf-8");StreamReadersr=newStreamReader(ReceiveStream,encode);Char[]read=newChar[256];intcount=sr.Read(read,0,256);while(count>0){Stringstr=newString(read,0,count);paramTextBox.Text+=str;count=sr.Read(read,0,256);}}catch(Exceptione){paramTextBox.Text=e.ToString();}finally{if(result!=null){result.Close();}}}#regionWebFormDesignergeneratedcodeoverrideprotectedvoidOnInit(EventArgse){////CODEGEN:ThiscallisrequiredbytheASP.NETWebFormDesigner.//InitializeComponent();base.OnInit(e);}///<summary>///RequiredmethodforDesignersupport-donotmodify///thecontentsofthismethodwiththecodeeditor.///</summary>privatevoidInitializeComponent(){this.Load+=newSystem.EventHandler(this.Page_Load);}#endregion}}编译能够成功,但是运行之后得不出自己想要的结果有朋友能给点思路或者帮忙改改吗?谢谢了

解决方案

解决方案二:
你需要模拟登陆吗?
解决方案三:
首先是要实现模拟登陆完成这一步后是再实现模拟登陆后和网站服务器的交互,比如说我模拟登陆了GOOGLE,然后敲入关键词,可以把搜索的情况显示出来。。。这个要怎么样实现啊
解决方案四:
这个最好通过WebService的方式来实现。
解决方案五:
是啊,如果是通过webservice来实现的话是很好现在我们考虑的问题是,要在别人同意的情况下把人家的东西包装成webservice,如果我们包装不了或者是别人不让我们包装,但是我们非得用到他们的东西不可的时候,我们要做的就是这个方法了,所以向现研究下
解决方案六:
在java中解决了这个问题

时间: 2024-11-03 15:45:27

.net下直接和服务器交互的问题的相关文章

FLASH AS3 中使用URLRequest 和URLLoader 与服务器交互

request|服务器|交互 AS3 中使用URLRequest 和URLLoader 与服务器交互 AS3 中使用 URLLoader 与 URLRequest 取代了先前版本 LoadVars 方法. 初学者可能又会迷糊了.在现在帮助系统没有完善的情况下 (Flash 9 没有帮助, Flex Builder 2 的只有英文), 这里写篇简单的教程, 方便大家往 AS3 过渡. 在 AS3 中, 有关于网络操作的内置类全部在 flash.net 里. 下面是本教程要用到的类的清单 : URL

Ajax中浏览器和服务器交互详解_AJAX相关

在了解Ajax之前我们先了解一下浏览器和服务器之间如何进行交互的 1.浏览器向服务器发送请求 2.服务器接收到请求信息,根据不同的情况再返回给浏览器不同的信息 3.浏览器接收到信息,输出到当前页面上 上面介绍了浏览器和服务器交互的简单示意图,可以看到在最后一步,浏览器接收到信息后将本页面的内容全部进行了更新,但是一般情况下我们只需要将部分内容进行更新,那怎么办呢?于是服务器干脆将这个页面的内容修改后全部发送给浏览器,于是第2步,服务器向浏览器发送的便是"天上星星有几颗?我不知道啊"这么

CentOS7下搭建邮件服务器(dovecot + postfix + SSL)

花了基本上两天的时间去配置CentOS7下的邮件服务器.其中艰辛太多了,一定得总结下. 本文的目的在于通过一系列配置,在CentOS 7下搭建dovecot + postfix + SSL 服务器,并且能够通过邮件客户端(本文中是Airmail)进行收发邮件. ¶前提条件 你得有个主机或者VPS 你有一个主域名比如 fancycoding.com 还有一个二级域名比如 mail.fancycoding.com 二级域名的 SSL 证书. ¶配置你的DNS记录 确认主域名有A记录指向服务器IP 添

Ajax中浏览器和服务器交互详解

在了解Ajax之前我们先了解一下浏览器和服务器之间如何进行交互的 1.浏览器向服务器发送请求 2.服务器接收到请求信息,根据不同的情况再返回给浏览器不同的信息 3.浏览器接收到信息,输出到当前页面上 上面介绍了浏览器和服务器交互的简单示意图,可以看到在最后一步,浏览器接收到信息后将本页面的内容全部进行了更新,但是一般情况下我们只需要将部分内容进行更新,那怎么办呢?于是服务器干脆将这个页面的内容修改后全部发送给浏览器,于是第2步,服务器向浏览器发送的便是"天上星星有几颗?我不知道啊"这么

dns服务器-Ubuntu下的从服务器接收到主服务器传过来的域文件乱码怎么解决?

问题描述 Ubuntu下的从服务器接收到主服务器传过来的域文件乱码怎么解决? 在Ubuntu下设置主DNS服务器及辅助DNS服务器,辅助DNS建好后接受来自主DNS服务器的正向和反向域文件,但是乱码,文件类型显示为data,编码为无法识别的编码 解决方案 .net从服务器下载文件中文名乱码解决方案 解决方案二: 是不是文件内容有其他编码,是否都是英文字符

如何在mac下搭建云服务器?

问题描述 如何在mac下搭建云服务器? 最近学习了android,想自己搭建个云服务器,在mac用什么程序搭建比较好?mac怎么连接云服务器也不是很清楚.或者是推荐看看什么书? 解决方案 http://www.cnblogs.com/wx1993/p/5022670.html

Linux操作系统下配置DNS服务器的方法介绍

有两台邮件服务器分别为192.168.1.1(windows下主机名为b.test.cn)和192.168.1.3(linux下主机名为a.test.com). 在linux下配置DNS服务器,下面是配置过程中设置过的一些文件, /etc/hosts 文件的具体内容如下: # Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 l

在Win2003下建DHCP服务器(1)

服务器 DHCP是用于动态分配IP地址的服务,当一个局域网中计算机比较多的时候,我们需要为每个客户端手动设置IP地址,子网掩码,DNS及网关等地址,操作起来非常麻烦.有了DHCP我们可以由一台专门的DHCP服务器为客户机分配上述的网络参数信息,这样在管理方面便得更加轻松,即使以后网关或DNS等信息发生变化时也仅仅修改服务器的参数即可,而不用每台计算机都进行修改了. Win2003下建立DHCP服务器的方法和2000略有不同,界面更加人性化,今天就为大家介绍如何在Windows 2003下建立DH

使用C#与NNTP服务器交互!

服务器|交互   using System;using System.Text;using System.Net;using System.IO;using System.Net.Sockets;using System.Collections;using System.Diagnostics;namespace NntpTools { /// <summary> /// Class1 的摘要说明. /// </summary> class Debug {  /// <sum