自己开发Socket代理服务器程序碰到的两个非常现实的问题 1、页面为中文时如果使用ASCII对返回数据转码在客户端就会出现乱码2、页面中使用Cookie时如何让代理服务器取到并传给客户端? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 解决这两个问题需要了解http协议1.socket接收到的数据未转换之前位2进制,一般http协议头以两个连续的回车换行结束,后面可能为数据长度和html内容,因此html编码方式可能在http协议头中已经设置,例如utf-8,gb2312,可以自己写程序判断2.客户端浏览器访问网站服务器时,在http数据包中有一个Cookie头,后面就是cookie值GET /dilingling/images/center.gif HTTP/1.1Accept: */*If-Modified-Since: Thu, 10 May 2007 02:20:40 GMT; length=198User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)Host: www230.clickeye.cnConnection: Keep-AliveCookie: key=123X103X29X245XX6923CC23FE051C88F0F45A857A793630331087如果网站服务器需要设置客户端的cookie,则在返回客户端浏览器的http数据包中会包含这样的头:set-cookie:aspsessionid=fdsfsdfgndsfgeedsnfd4代理服务器可以取到这个cookie值多抓几个http包就明白了 抓回的包中没有包含Cookie信息,但发出去的包里确实是包含的。 如果服务器要设置cookie那在http的头部就肯定能够看到这个cookie.你的代理服务器不需要处理这些之需要转发就可以了 vs2010新建程序生成的其他文件夹及文件什么意思啊 如何储存一维数组中,每两个数组成的组合? 【菜鸟请教】请鼠标轻点。 求一个控件 关于三层 有關C#訪問非公有成員變量問題,高手進!!!!! 请问VS2003和2005是不是存在很大差别? Private KeyPressSender As Object = Me 转成C# 提示有错误 请高手指点 如何在DataGrid中加入水平滚轴 [求助]原始套接字监听IP数据包 100分,跪求TreeView中的部分CheckBox可选解决方法. .net Web Service中是否可以使用定时器,并且系统启动时自启动
1.socket接收到的数据未转换之前位2进制,一般http协议头以两个连续的回车换行结束,后面可能为数据长度和html内容,因此html编码方式可能在http协议头中已经设置,例如utf-8,gb2312,可以自己写程序判断
2.客户端浏览器访问网站服务器时,在http数据包中有一个Cookie头,后面就是cookie值GET /dilingling/images/center.gif HTTP/1.1
Accept: */*
If-Modified-Since: Thu, 10 May 2007 02:20:40 GMT; length=198
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: www230.clickeye.cn
Connection: Keep-Alive
Cookie: key=123X103X29X245XX6923CC23FE051C88F0F45A857A793630331087
如果网站服务器需要设置客户端的cookie,则在返回客户端浏览器的http数据包中会包含这样的头:set-cookie:aspsessionid=fdsfsdfgndsfgeedsnfd4
代理服务器可以取到这个cookie值
多抓几个http包就明白了
你的代理服务器不需要处理这些之需要转发就可以了