Я бы попытался сбросить / закрыть OutputStream
, прежде чем закрыть ответ.
Также в качестве второго предложения рассмотрим HTTP-трафик с исходного сайта, а затем через ваш прокси-сайт, используяHTTP-отладчик, такой как Fiddler - при использовании вашего прокси-сервера должна быть разница.
Кроме того, чтобы сделать метод ReadAll более эффективным, в целом я бы не стал загружать весь контент в память, посколькуэто взорвет огромные файлы - просто передавайте их прямо из входного потока в выходной поток.Если вы все еще хотите использовать байтовые массивы, учтите следующее (не проверено, но должно работать):
private byte[] ReadAll(Stream stream)
{
byte[] buffer = new byte[8192];
int bytesRead = 1;
List<byte> arrayList = new List<byte>();
while (bytesRead > 0)
{
bytesRead = stream.Read(buffer, 0, buffer.Length);
arrayList.AddRange(new ArraySegment<byte>(buffer, 0, bytesRead).Array);
}
return arrayList.ToArray();
}