读书人

C# form怎么使用Socket给网页发送POST

发布时间: 2012-06-19 14:45:20 作者: rapoo

C# form如何使用Socket给网页发送POST数据
最近写了个软件,用到了POST发送数据包给网页,但是部分电脑报错:服务器提交了协议冲突,问了下度娘,也问了谷姐,都是说app.config添加什么什么=true之内的,用了,问题依旧存在,然后寻找原因,最后问题找到了,IE的问题,为了确认到底是不是IE的问题,专门用虚拟机装了个IE6的XP,结果提示服务器提交了协议冲突,然后关闭软件,安装IE8后,重启,软件工作正常。但是IE9也出现了这种问题。我是WIN7 X64 IE8,没问题,但是人家用不了,所以就想问问Socket如何发送POST数据给网页呢?

[解决办法]
Socket 太麻烦了。重新封装很多数据格式啊。

HttpWebRequest

HttpWebResponse
你好好研究下吧 很方便。 顺便给你个简单的例子

例子来源于互联网,大概就是这么一种格式。如果这个你都搞不懂那就没办法了。

C# code
Encoding myEncoding = Encoding.GetEncoding("gb2312");  string param =   HttpUtility.UrlEncode("参数一", myEncoding) +   "=" + HttpUtility.UrlEncode("值一", myEncoding) +   "&" + HttpUtility.UrlEncode("参数二", myEncoding) +  "=" + HttpUtility.UrlEncode("值二", myEncoding);   byte[] postBytes = Encoding.ASCII.GetBytes(param);   HttpWebRequest req = (HttpWebRequest)  HttpWebRequest.Create( "http://www.baidu.com/s" );  req.Method = "POST";  req.ContentType =   "application/x-www-form-urlencoded;charset=gb2312";  req.ContentLength = postBytes.Length;   using (Stream reqStream = req.GetRequestStream())  {     reqStream.Write(bs, 0, bs.Length);  }  using (WebResponse wr = req.GetResponse())  {     //在这里对接收到的页面内容进行处理  } 

读书人网 >C#

热点推荐