Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Таймаут GetRequestStream Добавлено: 18.08.08 12:26  

Автор вопроса:  Александр | Web-сайт: mobilles.ru
Имеется вод такой отрезок кода

'
'
' 'передаем параметры
            Dim sQueryString As String = "user=*****&password=***********&rem=1&a=2&ajax=2"
            Dim bf As Byte()
            bf = System.Text.Encoding.GetEncoding(1251).GetBytes(sQueryString)
            req.ContentLength = bf.Length
            req.GetRequestStream().Write(bf, 0, bf.Length)

           
            'Делаем запрос
            res = req.GetResponse

Проблема в том, что при подключении через прокси все работает, при подключении без прокси - тайм аут GetRequestStream - в обоих случаях req.Proxy = WebRequest.DefaultWebProxy
Подскажите, пожалуйста в чем проблема?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #1
Добавлено: 18.08.08 16:05
Забыл сказать, что в другом проекте все тоже самое, только запросы на другой сайт идут и все ок!...помогите плиз, очень надо!

Ответить

Номер ответа: 2
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #2
Добавлено: 21.08.08 22:38
Не верю, что никто не знает ответа на этот вопрос - повторюсь - ОЧЕНЬ НАДО!!!

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 22.08.08 16:15
Попробуй sQueryString кодировать в UTF8

Ответить

Номер ответа: 4
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #4
Добавлено: 22.08.08 18:46
Пробовал - непомогает(((...есть еще какие-нибудь предложения?

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 23.08.08 21:24
Кидай кусок кода по больше, чтобы видно было как всё объявляешь.

Теор. timeout на GetRequestStream может быть, когда коннектишся по https без сертификата.

Покрути по параметрам WebRequest, задай ContentType, ContentLength, задай Timeout побольше...

хз ещё какие предположения, надо видеть больше кода.

Ответить

Номер ответа: 6
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #6
Добавлено: 24.08.08 17:17
Вот кусок побольше..

Imports System.Net
Imports System.IO
Imports System.Text
Module Sender
    Public vt As String
    Dim sCookies, tmp, tmp_c(10), FndWord As String
    Dim position As Integer
    Dim agent As String = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;)" '"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9b1) Gecko/2007110904 Firefox/3.0b1"
    Dim acc As String = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    Dim chs As String = "windows-1251,utf-8;q=0.7,*;q=0.7"
    Dim encod As String = "deflate"
    Dim lang As String = "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"
    Public Function send_auto_ucoz(ByVal adr As String, ByVal login As String, ByVal pass As String) As Boolean
        Try
            If adr.Substring(adr.Length - 1) <> "/" Then
                adr = adr & "/"
            End If
            If adr.IndexOf("http://";) <> 0 Then
                adr = "http://" & adr
            End If
            'MsgBox(adr, MsgBoxStyle.Information)
            ' Headers

            'Формируем запрос
            Dim req As HttpWebRequest = HttpWebRequest.Create("http://www.fufla.net.ru/forum/";)
            Dim res As HttpWebResponse
            req.Proxy = WebRequest.DefaultWebProxy
            req.Method = "GET"
            req.UserAgent = agent
            req.Accept = acc
            req.Headers.Add("Accept-Language", lang)
            req.Headers.Add("Accept-Charset", chs)
            req.Headers.Add("Accept-Encoding", encod)

            'Делаем запрос
            res = req.GetResponse

            'Получаем куки
            If Not String.IsNullOrEmpty(res.Headers("Set-Cookie";)) Then
                sCookies = res.Headers("Set-Cookie";)
            End If

            'Формируем запрос  /40
            req = HttpWebRequest.Create("http://www.fufla.net.ru/index/40";)
            req.Proxy = WebRequest.DefaultWebProxy  'GlobalProxySelection.GetEmptyWebProxy
            req.Method = "GET"
            req.UserAgent = agent
            req.Accept = acc
            req.Headers.Add("Accept-Language", lang)
            req.Headers.Add("Accept-Charset", chs)
            req.Headers.Add("Accept-Encoding", encod)
            req.ContentType = "application/x-www-form-urlencoded"
            If Not String.IsNullOrEmpty(sCookies) Then
                req.Headers.Add(HttpRequestHeader.Cookie, sCookies)
            End If

            'Делаем запрос
            res = req.GetResponse

            'Получаем куки
            If Not String.IsNullOrEmpty(res.Headers("Set-Cookie";)) Then
                sCookies = res.Headers("Set-Cookie";)
            End If


            'формируем запрос
            req = HttpWebRequest.Create("http://www.fufla.net.ru/index/";)
            req.Proxy = WebRequest.DefaultWebProxy 'GlobalProxySelection.GetEmptyWebProxy
            req.Method = "POST"
            req.Referer = "http://www.fufla.net.ru/forum/"
            req.UserAgent = agent
            req.Accept = acc
            req.Headers.Add("Accept-Language", lang)
            req.Headers.Add("Accept-Charset", chs)
            req.Headers.Add("Accept-Encoding", encod)
            req.ContentType = "text/plain"
            If Not String.IsNullOrEmpty(sCookies) Then
                req.Headers.Add(HttpRequestHeader.Cookie, sCookies)
            End If

            'передаем параметры
            Dim sQueryString As String = "user=awkaw&password=230166&rem=1&a=2&ajax=2"
            Dim buffer As Byte()
            Buffer = System.Text.Encoding.GetEncoding(1251).GetBytes(sQueryString)
            req.ContentLength = Buffer.Length
            'MsgBox(req.GetRequestStream.ToString, MsgBoxStyle.Information)
            'System.Net.connectstream()
            req.GetRequestStream.Write(buffer, 0, buffer.Length)

            'Делаем запрос
            res = req.GetResponse


            'Получаем куки
            If Not String.IsNullOrEmpty(res.Headers("Set-Cookie";)) Then
                sCookies = res.Headers("Set-Cookie";)
            End If

            Dim stream As System.IO.Stream = res.GetResponseStream
            Dim sr As New System.IO.StreamReader(stream, System.Text.Encoding.GetEncoding(1251))
            vt = sr.ReadToEnd

            tmp = vt
            FndWord = Chr(34) & "+ad+" & Chr(34)
            position = tmp.IndexOf(FndWord, 0)
            tmp = tmp.Remove(position + 13, tmp.Length - position - 13)
            tmp = tmp.Remove(0, position + 6)

            'Формируем запрос
            req = HttpWebRequest.Create("http://www.fufla.net.ru/forum" & tmp & "/";)
            req.Proxy = WebRequest.DefaultWebProxy  'GlobalProxySelection.GetEmptyWebProxy
            req.Method = "GET"
            req.UserAgent = agent
            req.Accept = acc
            req.Headers.Add("Accept-Language", lang)
            req.Headers.Add("Accept-Charset", chs)
            req.Headers.Add("Accept-Encoding", encod)
            req.Referer = "http://www.fufla.net.ru/forum/"

            'передаем куки
            If Not String.IsNullOrEmpty(sCookies) Then
                req.Headers.Add(HttpRequestHeader.Cookie, sCookies)
            End If

            'Делаем запрос
            res = req.GetResponse

            'Получаем куки
            If Not String.IsNullOrEmpty(res.Headers("Set-Cookie";)) Then
                sCookies = res.Headers("Set-Cookie";)
            End If
            Dim stream_1 As System.IO.Stream = res.GetResponseStream
            Dim sr_1 As New System.IO.StreamReader(stream_1, System.Text.Encoding.GetEncoding(1251))
            vt = ""
            vt = sr_1.ReadToEnd
            'Выход с форума - запрос по адресу index/10
            Return True
        Catch ex As Exception
            MsgBox("Ошибка: " & ex.ToString, MsgBoxStyle.Critical)
            Return False
        End Try
    End Function

Ответить

Номер ответа: 7
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 26.08.08 02:59
Влом вчитываться.. у меня работает.
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        RichTextBox1.Text = SendRequest("http://www.fufla.net.ru/index/", "user=awkaw&password=230166&rem=1&a=2&ajax=2";)
    End Sub

Public Function SendRequest(ByVal url As String, ByVal SendData As String, Optional ByVal SendMethod As String = "POST";) As String

        Dim Request As HttpWebRequest
        Dim POSTData As Byte() = System.Text.Encoding.UTF8.GetBytes(SendData.ToCharArray())

        Request = HttpWebRequest.Create(url)

        Request.Method = SendMethod
        Request.ContentType = "application/x-www-form-urlencoded"
        Request.ContentLength = POSTData.Length
        Request.Accept = "*/*"

        Request.GetRequestStream().Write(POSTData, 0, POSTData.Length)
        Request.GetRequestStream().Close()

        Dim Response As WebResponse = Request.GetResponse()
        Dim Reader As New StreamReader(Response.GetResponseStream, System.Text.Encoding.UTF8)

        SendRequest = Reader.ReadToEnd
        Response.Close()
        Reader.Close()
    End Function

Ответить

Номер ответа: 8
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #8
Добавлено: 26.08.08 23:47
Все, разобрался! После запроса нужно обязательно его закрывать, чего я не делал...всем спасибо!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам