通过 SOCKS-Proxy 的 HTTP 请求被重定向(HTTP 302)C#
HTTP requests through SOCKS-Proxy getting redirected (HTTP 302) C#
大家好,我已经编写了一些代码来连接到 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 代理的代码 and/or 到主机的 TCP 连接,请询问。但我认为这无关紧要。
谢谢!
您的请求中有一个错误的换行符。 HTTP 版本需要与请求的方法和资源位于同一行。否则 proxy/server 会认为您是旧的 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");
大家好,我已经编写了一些代码来连接到 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 代理的代码 and/or 到主机的 TCP 连接,请询问。但我认为这无关紧要。
谢谢!
您的请求中有一个错误的换行符。 HTTP 版本需要与请求的方法和资源位于同一行。否则 proxy/server 会认为您是旧的 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");