嘿伙计们我已经编写了一些代码来连接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连接到主机的代码,请询问。但我认为这无关紧要。
谢谢!
答案 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");