通过SOCKS-Proxy重定向的HTTP请求(HTTP 302)C#

时间:2016-03-15 12:15:01

标签: c# httprequest socks http-status-code-302

嘿伙计们我已经编写了一些代码来连接SOCKS5-Proxy并处理一些HTTP请求,问题是我正在做的每个请求都会被重定向(HTTP 302响应)。

我的请求代码:

try
{
    using (var writer = new StreamWriter(stream))
    {
        writer.Write("GET /\r\n HTTP/1.0\r\n Host: www.google.com\r\n\r\n");
        writer.Flush();
        using (var reader = new StreamReader(stream))
        {
            Char[] readBuff = new Char[256];
            int count = reader.Read(readBuff, 0, 256);

            Console.WriteLine("\nThe HTML contents of page the are  : \n\n ");
            while (count > 0)
            {
                String outputData = new String(readBuff, 0, count);
                Console.WriteLine(outputData);
                count = reader.Read(readBuff, 0, 256);
            }
        }
    }
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}

我为每个尝试的网站收到302响应。这个问题是由于我的要求吗?或者可能是由于SOCKS-Proxy?

如果您需要建立SOCKS-Proxy和/或TCP连接到主机的代码,请询问。但我认为这无关紧要。

谢谢!

1 个答案:

答案 0 :(得分:1)

您的请求中有一个错误的换行符。 HTTP版本需要与请求的方法和资源位于同一行。否则,代理/服务器会认为您是旧的HTTP 0.9客户端而不是HTTP 1.0客户端。

改变这个:

writer.Write("GET /\r\n HTTP/1.0\r\n Host: www.google.com\r\n\r\n");

对此:

writer.Write("GET / HTTP/1.0\r\nHost: www.google.com\r\n\r\n");