Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2009, 01:28   #11
reyn90
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 54
По умолчанию

Цитата:
Сообщение от alexBlack Посмотреть сообщение
Попробуйте:

Код:
 Dim S As String = "&name=" & HttpUtility.UrlEncode("русские символы") & "&bt=ok"
// Если будете пробовать в консоли, нужно добавить в Reference System.Web
Я попробовал этот метод:
Код:
Dim S As String = "&name=" & HttpUtility.UrlEncode("русские символы") & "&bt=ok"
и мне бейсик пишет что HttpUtility необъявлен.
Как его объявить? Я НЕ в консоли работаю.
Ещё у меня в ответ приходит из базы где имя на русских символах вопросики(????????), а через EnternetExplorer приходит нормальное имя из русских символов.
reyn90 вне форума Ответить с цитированием
Старый 20.06.2009, 08:54   #12
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

[QUOTE=reyn90;293420]...и мне бейсик пишет что HttpUtility необъявлен.
Как его объявить?
[QUOTE]

Код:
Imports System.Web
На будущее. Нажимаем F1 на HttpUtility, смотрим в каком пространстве имен объявлено (в самом конце страницы - System.Web Namespace), подключаем. В некоторых случаях кроме объявления Imports требуется добавить соответствующий компонент - в Solution Explorer жмем правую клавишу, выбираем Add Reference, ищем пакет System.Web, Ok.

Цитата:
Ещё у меня в ответ приходит из базы где имя на русских символах вопросики(????????), а через EnternetExplorer приходит нормальное имя из русских символов.
Думаю, нужно указать кодировку в StreamReader:

Код:
Dim r As StreamReader = New StreamReader(data, System.Text.Encoding.ASCII)
alexBlack вне форума Ответить с цитированием
Старый 21.06.2009, 04:04   #13
reyn90
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 54
По умолчанию

Цитата:
На будущее. Нажимаем F1 на HttpUtility, смотрим в каком пространстве имен объявлено (в самом конце страницы - System.Web Namespace), подключаем. В некоторых случаях кроме объявления Imports требуется добавить соответствующий компонент - в Solution Explorer жмем правую клавишу, выбираем Add Reference, ищем пакет System.Web, Ok.
Всё работает. В базу отправляется закодированый текст, прям как из веб браузера.
Для ответа использую
Код:
Dim r As StreamReader = New StreamReader(data, System.Text.Encoding.ASCII)
Тоже не выбаёт ошибок, только он теперь не может авторизовать меня. Пишет что я гость. У меня Response приходит в TextBox. Пишет нормально, но как только создаю отчёт в формате html, то тут ??????
reyn90 вне форума Ответить с цитированием
Старый 21.06.2009, 04:53   #14
reyn90
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 54
По умолчанию

Вот как обошол ошибку авторизации:
Код:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim request As WebRequest = WebRequest.Create("http://localhost/www.warez.ru/")
        request.Credentials = CredentialCache.DefaultCredentials
        request.Method = "POST"
        request.ContentType = "application/x-www-form-urlencoded"

        Dim name As String
        name = HttpUtility.UrlEncode(TextBox3.Text) 'C этим кодом авторизует, но отчёт с ?????
        'name = TextBox3.Text ' C этим кодом не авторизует     
   Dim S As String = "&user=" & name & "&bt=submit"
        request.ContentLength = S.Length
        Dim w As StreamWriter = New StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII)
        w.Write(S)
        w.Close()

        Dim response As WebResponse = request.GetResponse()
        Dim data As Stream = response.GetResponseStream
        Dim r As StreamReader = New StreamReader(data) 'System.Text.Encoding.Unicode)
        'Dim r As StreamReader = New StreamReader(data)

        Dim text As String = r.ReadToEnd()
        HttpUtility.UrlEncode(text)
        TextBox2.Text = text

        response.Close()
Но отчёт все ещё остался с вопросиками
reyn90 вне форума Ответить с цитированием
Старый 21.06.2009, 17:59   #15
reyn90
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 54
По умолчанию

Всё нашол ошибку и исправил!
reyn90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень интересный проект " The Battle For Middle-earth-3" Witch-Lord Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 23.06.2009 00:00
Отправка почты на Visual Basic .Net или в дельфи Alex88888 Помощь студентам 2 06.03.2009 18:29
Visual Basic .Net (2005) Amdy Помощь студентам 4 11.06.2008 13:49
Таблица заранее неизвестного размера в Basic.net byte916 Помощь студентам 1 02.04.2008 02:38