使用tcp级别发送请求

使用tcp级别发送请求

问题描述:

我可以使用webclient登录到网站(eaxmple.com)。但是当网站用户很重时,它会变慢。所以我认为要走低一点。使用tcp级别发送请求

我需要的建议是在c#中使用tcpclient。登录后我也需要管理cookie。我试图从msdn学习这个类,但无法理解如何使用tcpclient发布帖子并获取请求。

我试过这个获取请求。但不知道后和cookie管理

byte[] buf = new byte[1024]; 
      string header = "GET /?scope=images&nr=1 HTTP/1.1\r\n" + 
          "Host: www.bing.com\r\n" + 
          "Connection: keep-alive\r\n" + 
          "User-Agent: Mozilla/5.0\r\n" + 
          "\r\n"; 

      var client = new TcpClient(); 
      client.Connect("www.bing.com", 80); 

      // send request 
      var stream = client.GetStream(); 
      var streamReader = new StreamReader(stream); 
      var streamWriter = new StreamWriter(stream); 

      streamWriter.Write(header); 
      streamWriter.Flush(); 
      stream.Flush(); 

      // get response 
      var response1 = streamReader.ReadLine(); 

请建议并提供一个链接,我可以开始这个。

简而言之,要发送POST请求,只需用'POST'替换动词'GET',然后就可以了。要将实际有效负载(如表单数据)添加到请求中,请在header变量末尾附加第二个换行符,然后再以base64格式输入实际数据。 Cookies添加为标题。 只需谷歌'POST HTTP格式',并寻找代码示例,必须有几十个。一个HTTP请求只是一系列字符 - 至少,你可以从它开始。

但是,如果您有带宽或服务器负载问题,“降低一个级别”不会对您有所帮助。另外,构建一个功能完整的HTTP客户端并不容易。大量的工作没有。

+0

嗨Dercsár, 有没有办法在服务器太忙时快速提取数据?我的意思是当服务器有很多用户点击网站。 –

+0

我可以成为一个百万富翁,如果我对这个问题有一个积极的答案:) –

+0

噢谢谢..但你说'走下一级'不会帮助你。但是我看到文章说tcp级别比httpwenrequest更快。 –