我主要想实现用程序登陆一个网站,从网站里返回数据进行筛选,并向这个网站POST数据。
实现方式是:socket 与服务器的80端口通信。
开始都很顺利,但是遇到服务器通过SSL加密的也就是用:https:\\***访问的站 问题就出来了,我查了很多资料,查了关于HTTPS协议,说是HTTPS的端口是443,但是我访问443端口 服务器返回
bad request 错误。我想知道如果用socket同433端口通信 我怎么操作,比如同80端口通信,请求格式是:
GET /文件路径 HTTP/1.1 如果是同433端口通信 我应该发送什么信息过去建立连接,
433端口的数据是加密过后的数据,在C#里 我应该用什么方式来加密数据,请讲的详细一点。我很少问别人问题,但是这个问题我查了几天资料都没有查到好的解决方法,马上就快春节了,要是这个问题解决不了,一是放不了假,还要扣一半的工资,一年下来换了几份工作 就指望着这个月工资拿了 回家给爷爷 奶奶 买点东西各位热心的朋友一定要帮我这个忙,这个问题解决了 我愿意把我这个月工资的一部分请大家喝茶,虽然小弟目前薪资微薄。

解决方案 »

  1.   

    直接在TCP的基础上实现HTTP太麻烦了,而且要实现HTTPS,就需要使用SSL的加密和解密,我至今也没搞懂。
    建议你使用HttpWebRequest和HttpWebResponse,这两个类支持HTTPS的。我写了一个HttpUtil类,需要的话我给你。
      

  2.   

    ah__fu(阿福) 兄弟,用HttpWebRequest和HttpWebResponse 我基本上也能实现,但是我登陆过后的返回信息总提示我:登陆超时,请重新登陆。
    如果我用一个错误的帐户或密码测试,服务器会正确的提示我:用户名或密码错误,但我用正确的登陆 却提示我:登陆超时,请重新登陆。我是用HTTPLOOK抓的包 看上面POST的数据的。。另外我mail:[email protected]谢谢
      

  3.   

    楼主
    我现在也遇到和你相同的问题,我这里首先是提示《基础连接已经关闭: 无法与远程服务器建立信任关系》,看了一些相关的资料也是不知道怎么办,我需要登陆的网站是需要ssl证书认证的,不知道你现在是否解决了,可能我现在做的东西和你是一样,现在就是这个没有用了SSL登陆的没有办法解决。不知道你现在解决了没有,能不能给点思路我,谢谢!
      

  4.   

    SSL 这个....
    好像一直不怎么好弄哎
    ----------------------------------------------------------------------------
    爱你是我的权利 不要让我爱得太无力 一个人多么孤寂 连自由都失去了意义 
    爱你是我的权利 却不代表我不会放弃 若没有你的鼓励 悲或喜还有什么差异