[英]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代理和/或用於主機的TCP連接的代碼,請詢問。 但我認為這無關緊要。
謝謝!
您的請求中有一個錯誤的換行符。 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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.