winform 客户端 HTTP协议与服务端通信

本来从来没有仔细研究过Http协议,今天因为公司业务需求,调试了半天,终于现在会Winform用Http协议与服务端通信了,其中常用的有POST和Get方式;

仔细看了人人网和新浪等大部分都是采用GET方式获取数据的,MSN截图如下:

还是不要脱离本文的主要目的:

模拟实现登录代码如下:

 1 private void pictureBox3_Click(object sender, EventArgs e)
 2 {
 3 string strUserName = textEdit1.Text.Trim(); //用户名
 4 string strUserPwd = textEdit2.Text.Trim(); //密码
 5
 6 if (string.IsNullOrEmpty(strUserName) || string.IsNullOrEmpty(strUserPwd))
 7 {
 8 XtraMessageBox.Show("请输入用户名和密码", "Transmate", MessageBoxButtons.RetryCancel);
 9 }
10 else
11 {
12 string strPostData = "emailAddress=" + strUserName + "&password=" + strUserPwd+"";
13
14 HttpWebRequest httpWebRequest = WebRequest.Create("http://192.168.1.130:30160/TransmateWebService/login") as HttpWebRequest;
15
16 httpWebRequest.KeepAlive = false;
17
18 byte[] data = System.Text.Encoding.UTF8.GetBytes(strPostData);
19
20 httpWebRequest.Method = "POST";
21
22 httpWebRequest.ContentLength = data.Length;
23 httpWebRequest.ContentType = "application/x-www-form-urlencoded";
24 Stream NewStream = httpWebRequest.GetRequestStream();
25 NewStream.Write(data,0,data.Length);
26 NewStream.Close();
27
28 HttpWebResponse response = httpWebRequest.GetResponse() as HttpWebResponse;
29
30 Stream ReviceStream = response.GetResponseStream();
31 StreamReader streamReader = new StreamReader(ReviceStream,Encoding.UTF8);
32 string StrContent = streamReader.ReadToEnd();
33
34 JObject JsonObject = JObject.Parse(StrContent);
35 string loginCode = JsonObject["errorCode"].ToString();
36 string TipMessage = JsonObject["message"].ToString();
37
38 if (loginCode == "200")
39 {
40 XtraMessageBox.Show("登录成功,正在跳转....");
41 }
42 else
43 {
44 XtraMessageBox.Show("登录失败,请稍候重试");
45 }
46 }

开始调试了好久,出现下面的错误:

经过不断的查找和调试,主要是少写了一句话:

1                     httpWebRequest.ContentType = "application/x-www-form-urlencoded";

希望对大家有帮助,后续会正对HTTP、SOAP、TCP、UDP、Https、等基本协议开个专题【敬请期待。。。】

时间: 2024-11-05 18:56:02

winform 客户端 HTTP协议与服务端通信的相关文章

二、网络编程-socket之TCP协议开发客户端和服务端通信

知识点:之前讲的udp协议传输数据是不安全的,不可靠不稳定的,tcp协议传输数据安全可靠,因为它们的通讯机制是不一样的.udp是用户数据报传输,也就是直接丢一个数据包给另外一个程序,就好比寄信给别人,信丢了你也不知道,tcp传输需要先和服务端建立连接,当客户端与服务器连接时,服务器会给出应答,我俩连上了,而且数据传过来还会进行一个数据包数量验证,不一致会重新发送,还有其他种种验证,总之保证了数据传输安全可靠   这一章主要介绍使用套接字,编写一个tcp协议客户端和服务端.同样要用到上一章节提到小

socket 客户端和服务端通信

客户端要连接服务器:首先要知道服务器的IP地址.而服务器里有很多的应用程序,每一个应用程序对应一个端口号 所以客户端想要与服务器中的某个应用程序进行通信就必须要知道那个应用程序的所在服务器的IP地址,及应用程序所对应的端口号 TCP协议:安全稳定,一般不会发生数据丢失,但是效率低.利用TCP发生数据一般经过3次握手(所有效率低,自己百度三次握手) UDP协议:快速,效率高,但是不稳定,容易发生数据丢失(没有经过三次握手,不管服务器有空没空,信息全往服务器发,所有效率搞,但服务器忙的时候就没办法处

关于ntp(时间同步协议)服务端和客户端的配置说明

本文主要写了一些在Linux(CentOS)服务器上配置ntp的经验,事件缘由来源于配置Zabbix监控ntp服务时的测试配置. NTP时间同步协议的服务端(ntpd服务)和客户端(ntpdate服)不能同时运行,即在运行ntpd服务后不能运行ntpdate服务,否则ntpdate服务会提示启动失败,而且日志中也会提示"the NTP socket is in use, exiting",如下图所示. 但客户端运行时,服务端可以运行,但服务端运行时,客户端不能运行,要运行客户端服务,就

Netty入门之客户端与服务端通信(二)

Netty入门之客户端与服务端通信(二) 一.简介 在上一篇博文中笔者写了关于Netty入门级的Hello World程序.书接上回,本博文是关于客户端与服务端的通信,感觉也没什么好说的了,直接上代码吧. 二.客户端与服务端的通信 2.1 服务端启动程序 public class MyServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGroup = ne

客户端通过HTTP协议与服务端交换数据

客户端(包括浏览器)通过HTTP协议与服务端交换数据的描述 发起请求 http method 写请求使用POST 读请求使用GET 参数提交 提交一个普通对象,使用键值对参数 x-www-form-urlencoed 当同名参数有多个值时,使用http表单数组的方式 options[]:a options[]:b options[]:c - 当参数对应的值是复杂对象或多维数组时,json序列化该对象/多维数组 处理服务端响应 预先准备 根据业务需求,确定当前响应返回的是业务数据,还是系统消息.(

警察与小偷的实现之一客户端与服务端通信

来源于ISCC 2012 破解关第四题 目的是通过逆向police,实现一个thief,能够与police进行通信 实际上就是一个RSA加密通信的例子,我们通过自己编写客户端和服务端来实现上面的thief和police的功能.. 要通信,这们这次先通过python写出可以进行网络连接的客户端与服务端.. 服务端代码 #!/usr/bin/env python import SocketServer from time import ctime HOST = '127.0.0.1' PORT =

客户端技术:Cookie 服务端技术:HttpSession

客户端技术:Cookie 服务端技术:HttpSession 07. 五 / android基础 / 没有评论 一.会话技术1.什么是会话:客户打开浏览器访问一个网站,访问完毕之后,关闭浏览器.这个过程称之为一个会话.就如同打电话.2.会话在编程中主要解决的问题是:保存各个用户的数据信息.3.保存用户各自数据的主要技术:客户端技术:Cookie服务端技术:HttpSession 二.Cookie1.获取Cookie采用request.getCookies()2.设置Cookie采用respons

vue.js基础知识篇(8):与服务端通信

vue.js可以构建一个完全不依赖后端服务的应用APP,同时也可以与服务端进行数据交互来同步界面的动态更新.vue-resource实现了基于AJAX.JSONP等技术的服务端通信. 第十三章:与服务端通信 1.安装和配置vue-resource 安装方法:使用script标签引入. (1)参数配置.分为全局配置.组件实例配置和调用配置3部分,其优先级依次增高. 第一,全局配置. (2)headers配置 XXX 2.基本HTTP调用 (1)底层方法 (2)便捷方法 (3)请求选项对象 (4)r

Android BLE与终端通信(三)——client与服务端通信过程以及实现数据通信

Android BLE与终端通信(三)--client与服务端通信过程以及实现数据通信 前面的终究仅仅是小知识点.上不了台面,也仅仅能算是起到一个科普的作用.而同步到实际的开发上去,今天就来延续前两篇实现蓝牙主从关系的client和服务端了.本文相关链接须要去google的API上查看,须要FQ的 Bluetooth Low Energy:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html 可是我们依旧