Отправка HttpRequest обратно HttpRequest (прокси) - PullRequest
0 голосов
/ 14 марта 2011

У меня есть следующий код:

With context.Response
     Dim req As HttpWebRequest = WebRequest.Create("http://www.Google.com/")
     req.Proxy = Nothing
     Dim res As HttpWebResponse = req.GetResponse()
     Dim Stream As Stream = res.GetResponseStream
     .OutputStream.Write(Stream, 0, Stream.Length)
End With

К сожалению, приведенный выше код не работает.Мне нужно взять RequestStream и поместить его в OutputStream из контекста. Ответ.

Есть идеи?

1 Ответ

0 голосов
/ 14 марта 2011

Запись занимает байтовый массив, а вы передаете ему поток.

Попробуйте прочитать из потока и получить все данные, прежде чем записывать их обратно.

Сначала прочитайте данные в промежуточный байтовый массив ( Взятый отсюда ):

Dim bytes(Stream.Length) As Byte
Dim numBytesToRead As Integer = s.Length
Dim numBytesRead As Integer = 0
Dim n As Integer
While numBytesToRead > 0
    ' Read may return anything from 0 to 10.
    n = Stream.Read(bytes, numBytesRead, 10)
    ' The end of the file is reached.
    If n = 0 Then
        Exit While
    End If
    numBytesRead += n
    numBytesToRead -= n
End While
Stream.Close()

Затем запишите его в выходной поток:

.OutputStream.Write(bytes,  0, Stream.Length)    
...