(Между прочим, у вас должно быть заявление using
для ответа ... и я согласен с комментарием Асбьёрну. Вы должны обновить свой вопрос с более подробной информацией.)
Вы должны использовать что-то вроде Wireshark , чтобы посмотреть, как выглядят запросы и ответы в каждом случае. Например, указывает ли браузер, что он поддерживает сжатые ответы, а WebRequest
нет? Если это из-за медленного соединения, это может быть важной частью.
Еще одна вещь, которую нужно проверить, - занимает ли декодирование строк значительное время в коде .NET ... если вы просто считываете данные из потока в байтовый массив (возможно, просто отбрасываете их, когда читаете), это значительно быстрее? Например:
using (var response = request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
// Just read the data and throw it away
byte[] buffer = new byte[16 * 1024];
int bytesRead;
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
// Ignore the actual data
}
}
}