прошу помощи

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

прошу помощи

Сообщение strelec » 28.07.2011 (Чт) 18:11

у меня есть сайт,а файли закачены на IFOLDER.RU
кода загружаешь файл у тебя есть 10 дней а после надо продлит
мне хотелось-бы сделать прогу который сам будет продлевать.
программа должно заходит под моим именем и тыкать на продлит )) ну вы поняли )
с вб.нет знаком (начинающий) с WebClient и.т.д не знаком (
пожалуйста скажите с чего мне начать?
где читать стати про WebClient и.т.д
спс заранее

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: прошу помощи

Сообщение FireFenix » 28.07.2011 (Чт) 18:34

По хорошему WebClient не нужен, а нужны System.Web.HttpRequest и System.Web.HttpResponse

Алгоритм прост.
1) Изучаешь всю цепочку запросов-ответов и названия полей + куки (там название полей пароля и логина, может быть ещё хеш суммы и другие разные поля)
Для этого можно использовать к примеру FireFox с плагином TamperData
2) Формируешь аналогичные через HttpRequestи получаешь ответ в HttpResponse

Рекомендуется к прочтению и пользованию http://www.ozon.ru/context/detail/id/2319489/
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Альтернативный вариант

Сообщение Qwertiy » 05.08.2011 (Пт) 15:12

Использовать элемент WebBrowser и программно выполнять действия в нём.

Примерно так:
Код: Выделить всё
GetElementById("dvifree").InvokeMember("Submit")
Код: Выделить всё
Private Function GetElementById(ByVal Id As String) As HtmlElement
  Dim Result As HtmlElement

  Do While Web.Document Is Nothing
    DoEventsWithStopCheck()
  Loop
  Do
    Result = Web.Document.GetElementById(Id)
    DoEventsWithStopCheck()
  Loop While Result Is Nothing
  Do While Result.InnerHtml Is Nothing
    DoEventsWithStopCheck()
  Loop

  Return Result
End Function

Конечно, можно было использовать событие DocumentCompleted, но мне хотелось выполнить действие быстрее (до того, как страница загрузится полностью).

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: прошу помощи

Сообщение iGrok » 08.08.2011 (Пн) 2:00

Как выражается Хакер, "буэээээ"...

Зачем писать эту дрянь, если в первом же ответе описаны правильные действия?
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 08.08.2011 (Пн) 15:40

iGrok писал(а):Зачем писать эту дрянь, если в первом же ответе описаны правильные действия?

Правильность действий зависит от ситуации.
Например, если на странице используется javascript, который нужен для получения результата, то надо ли писать свой интерпритатор js или разбираться в том, что именно делает этот javascript, чтобы заменить его кодом на VB.NET? Кроме того, возникает вопрос, а что вообще сделать проще - выполнить имитацию последовательности действий или посылать запросы? Правильный в общем случае путь не всегда является наилучшем в конкретной ситуации.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: прошу помощи

Сообщение iGrok » 08.08.2011 (Пн) 16:39

Всегда проще и правильнее посылать запросы.
Другой вопрос, что иногда для этого приходится включать голову.

Что бы там ни делал код на js, конечная работа с сервером сводится к отправке 2-3 запросов. Вот их и нужно отправить, а не городить огород с веббраузером.
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 08.08.2011 (Пн) 17:53

iGrok писал(а):Всегда проще и правильнее посылать запросы.

Вторую ссылку читал и полностью согласен с тем, что там написано.
А в первой теме и так спор по поводу того, как лучше сделать. Именно лучше в конкретной ситуации, а не правильнее вообще.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: прошу помощи

Сообщение iGrok » 08.08.2011 (Пн) 18:37

Там спор по поводу того, "что проще", а не "что лучше".
По поводу "что лучше" и "что правильнее" он там вполне однозначно закончился.
label:
cli
jmp label

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 25.09.2011 (Вс) 22:49

Доброго времени суток.у меня есть просьба ко всем =).мне нужно примеры все что связано со System.Web.HttpRequest и System.Web.HttpResponse.просто надо научится не знаю. с чего начать в интернете нечего не нашел. мне всегда было удобно научится на примерах.прошу кому не лень и есть примеры пишите пожалуйста
заранее всем благодарен

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 25.09.2011 (Вс) 23:12

Код: Выделить всё
Protected LastUrl As String, CookiesString As String, Proxy As WebProxy

Public Sub New(ByVal Url As String, ByVal Proxy As WebProxy)
  With Me
    .LastUrl = Url
    .Proxy = Proxy
  End With
End Sub

Protected Function GetHtmlPage1(ByVal Url As String) As String
  Dim Request As HttpWebRequest = WebRequest.Create(Url)
  With Request
    .Method = WebRequestMethods.Http.Get
    .Proxy = Proxy
  End With
  Dim Response As HttpWebResponse = Request.GetResponse()
  CookiesString = Response.Headers("Set-Cookie")
  LastUrl = Url
  Dim Result As String = (New StreamReader(Response.GetResponseStream())).ReadToEnd()
  Response.Close()
  Return Result
End Function

Protected Function FindFormWith(ByVal Page As String, ByVal Text As String) As String
  For Each Form As Match In Regex.Matches(Page, "<form.*?</form>")
    If Form.Value.Contains(Text) Then Return Form.Value
  Next Form
  Return Nothing
End Function

Protected Function GetHtmlPage2(ByVal Url As String, ByVal Data As String) As String
  Dim Request As HttpWebRequest = WebRequest.Create(Url)
  Dim BinData As Byte() = (New UTF8Encoding()).GetBytes(Data)
  Dim CookieContainer As New CookieContainer

  CookieContainer.SetCookies(New Uri("Тут должен быть адрес сайта"), CookiesString)

  With Request
    .Method = WebRequestMethods.Http.Post
    .Proxy = Proxy
    .CookieContainer = CookieContainer
    .ContentType = "application/x-www-form-urlencoded"
    .ContentLength = BinData.Length
    .Referer = LastUrl
    .GetRequestStream().Write(BinData, 0, BinData.Length)
    LastUrl = Url
    Dim Response As HttpWebResponse = .GetResponse()
    CookiesString &= "; " & Response.Headers("Set-Cookie")
    Dim Result As String = (New StreamReader(Response.GetResponseStream())).ReadToEnd()
    Response.Close()
    Return Result
  End With
End Function

Protected Function GetHtmlPage3(ByVal Url As String) As String
  Dim Request As HttpWebRequest = WebRequest.Create(Url)
  Dim CookieContainer As New CookieContainer

  CookieContainer.SetCookies(New Uri(Regex.Match(Url, "^http://.*?/").Value), CookiesString)

  With Request
    .Method = WebRequestMethods.Http.Post
    .Proxy = Proxy
    .CookieContainer = CookieContainer
    .ContentType = "text/xml; charset=utf-8"
    .ContentLength = 0
    .Referer = LastUrl
    LastUrl = Url
    Dim Response As HttpWebResponse = Request.GetResponse()
    Dim Result As String = (New StreamReader(Response.GetResponseStream())).ReadToEnd()
    Response.Close()
    Return Result
  End With
End Function

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 29.09.2011 (Чт) 0:34

о5 вопрос )
хочу на сайте авторизоваться
1.посылаю запрос с помощью GET после читаю
2.посылаю запрос на авторизацию помощью POST после читаю
в Ответе


<?xml version="1.0" encoding="UTF-8"?><ajax><cmd p="innerHTML" t="msgL555"><![CD
ATA[<div class="myWinLoadSD"></div>]]></cmd><cmd p="js"><![CDATA[var ad=window.l
ocation.href.replace(/#(.*)?/,'');setTimeout("window.location.href='"+ad+"?lxamh
a
'",'1000')]]></cmd></ajax>


если я не ошибаюсь то что я отметил красным 'то новый урл по которому надо перейти.
как Это сделать ? программно
обязательно надо применят IndexOf и Mid думаю есть что нибудь получше)
заранее благодарен
Qwertiy спасибо тебе помог твой код )

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: прошу помощи

Сообщение FireFenix » 29.09.2011 (Чт) 13:21

Вообще-то это JavaScript и не факт что он срабатывает после загрузки страницы.

если я не ошибаюсь то что я отметил красным

парсишь обычным поиском и вырезкой или через RegEx и потом делаешь что хочешь
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2011 (Чт) 15:11

strelec писал(а):
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?><ajax><cmd p="innerHTML" t="msgL555"><![CDATA[<div class="myWinLoadSD"></div>]]></cmd><cmd p="js"><![CDATA[var ad=window.location.href.replace(/#(.*)?/,'');setTimeout("window.location.href='"+ad+"?lxamha'",'1000')]]></cmd></ajax>

У меня такое ощущение, что это вообще отрицательный ответ. Ты точно то что надо отправляешь?
Лучше посмотри, что происходит в браузере и сделай так же.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 29.09.2011 (Чт) 17:58

проблема с куками ((((
вот так я передаю кук
Код: Выделить всё
Request.Headers.Set(HttpRequestHeader.Cookie, sCookies)
я правильно делаю ?
я с помощью Filder-Http посмотрел то что с браузером идет и то что с программой разные куки (((
1. как правильно отправит кук
Код: Выделить всё
Request.Headers.Set(HttpRequestHeader.Cookie, sCookies)
или
Код: Выделить всё
Request.Headers.Add("Cookie: " & sCookies)

2.с помощю Filder-Http когда захожу браузером при первом запросе(GET) клиент отправляет кук откуда он это берет ?
3. надо-ли закрывает ?
Код: Выделить всё
Response.Close()

4. когда работаешь с одним сайтом при каждом запросе надо каждый раз создавать новый Request или есть пере-направление ?
Код: Выделить всё
Dim Request As HttpWebRequest = WebRequest.Create(Url)

5. Qwertiy вопрос к тебе )
Код: Выделить всё
CookieContainer.SetCookies(New Uri("Тут должен быть адрес сайта"), CookiesString)
все что не воожу всегда ошибка

тоже самое
Код: Выделить всё
CookieContainer.SetCookies(New Uri(Regex.Match(Url, "^http://.*?/").Value), CookiesString)

может я тут чтото туплю ?
спс заранее

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2011 (Чт) 22:33

strelec писал(а):проблема с куками ((((

Заметно :(
В моём коде есть работа с ними. Пиши как у меня, без всяких фокусов с заголовками.

strelec писал(а):2.с помощю Filder-Http когда захожу браузером при первом запросе(GET) клиент отправляет кук откуда он это берет ?

Эту строчку видел?
Код: Выделить всё
CookiesString &= "; " & Response.Headers("Set-Cookie")
Почему &=, а не = понимаешь?
Хотя, если честно, не уверен, что это совсем правильно, но оно работает.

strelec писал(а):3. надо-ли закрывает ?
Код: Выделить всё
Response.Close()

Обязательно. Иначе будут проблемы с ограничением на число соединений.

strelec писал(а):4. когда работаешь с одним сайтом при каждом запросе надо каждый раз создавать новый Request или есть пере-направление ?
Код: Выделить всё
Dim Request As HttpWebRequest = WebRequest.Create(Url)

Каждый раз новый.

strelec писал(а):5. Qwertiy вопрос к тебе )
Код: Выделить всё
CookieContainer.SetCookies(New Uri("Тут должен быть адрес сайта"), CookiesString)
все что не воожу всегда ошибка

тоже самое
Код: Выделить всё
CookieContainer.SetCookies(New Uri(Regex.Match(Url, "^http://.*?/").Value), CookiesString)

Под адресом сайта понимается адрес корня (не совсем уверен). Кроме того, он должен (почти?) совпадать с тем, что прописано в path в CookiesString.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2011 (Чт) 22:40

Попытайся использовать мой класс без модификаций. Я думаю, он вполне для этого подходит.

UPDATE: Поправка: с минимумом модификаций. Во-первых, я не выложил весь класс, а во-вторых, нужно указать сайт в CookieContainer'е.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2011 (Чт) 22:52

strelec писал(а):
Код: Выделить всё
CookieContainer.SetCookies(New Uri("Тут должен быть адрес сайта"), CookiesString)
все что не воожу всегда ошибка

Какая ошибка? Строка кукизов валидная? Она не должна начинаться с ;.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 30.09.2011 (Пт) 17:22

не получается не как (99 авторизацию не могу пройти о5 куки ((((
просто интересно .Header в программе показывает что куки отправлены а Filder-Http не показывает в чём может быт проблема (((
у кого есть пример на авторизацию пожалуйста дайте прочитать )

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: прошу помощи

Сообщение FireFenix » 30.09.2011 (Пт) 18:23

strelec писал(а):пожалуйста дайте прочитать )

http://www.ozon.ru/context/detail/id/2319489/
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 30.09.2011 (Пт) 21:49

VBStreets login.7z
Вход на VBStreets
(16.13 Кб) Скачиваний: 220

Если данные верные, то будет сообщение вида
VBStreets IfLoginOk.png
VBStreets IfLoginOk.png (7.18 Кб) Просмотров: 12796
В случае ошибки текст сообщения отсутствует.

Разбирайся :)

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 01.10.2011 (Сб) 17:51

сделал )
вот так помогает всем спасибо !!! Qwertiy тебе огромное спасибо за все !!!!
Код: Выделить всё
Protected Function R_Cokie(ByVal response As HttpWebResponse) As String
        Dim cookieColektion As CookieCollection = response.Cookies
        Dim rCookie As String
        For cNum As Integer = 0 To cookieColektion.Count - 1
            If cookieColektion(cNum).Value <> "" Then
                rCookie &= cookieColektion(cNum).Name & "=" & cookieColektion(cNum).Value & "; "
            End If
        Next
                Return rCookie
    End Function


Код: Выделить всё
Protected Function GetHtmlPageByGet1(ByVal Url As String) As String
        LasUrl = Url
        Dim Request As HttpWebRequest = WebRequest.Create(Url)
        Dim Response As HttpWebResponse = Nothing
        Dim Result As String
        With Request
            .Method = WebRequestMethods.Http.Get
            .Proxy = proxy
            .Headers.Add(HttpRequestHeader.Cookie, CookiesString)
            Response = .GetResponse()
            CookiesString = R_Cokie(Response) 'оправка куки
            Result = New StreamReader(Response.GetResponseStream()).ReadToEnd()
            Response.Close()
            Return Result
        End With
    End Function
    Protected Function GetHtmlPageByPost(ByVal Url As String, ByVal Data As String) As String
        LasUrl = Url
        Dim Request As HttpWebRequest = WebRequest.Create(Url)
        Dim BinData As Byte() = (New UTF8Encoding()).GetBytes(Data)
        Dim CookieContainer As New CookieContainer
        Dim Response As HttpWebResponse = Nothing
        Dim Result As String
        With Request
            .Method = WebRequestMethods.Http.Post
            .Proxy = proxy
            .CookieContainer = CookieContainer
            .Referer = LasUrl
            .Headers.Add(HttpRequestHeader.Cookie, CookiesString)
            .ContentLength = BinData.Length
            .GetRequestStream().Write(BinData, 0, BinData.Length)
            Response = .GetResponse()
            MsgBox(Response.ResponseUri.ToString)
            CookiesString = R_Cokie(Response) 'оправка куки
            'CookiesString &= If(CookiesString = "", "", "; ") & Response.Headers("Set-Cookie")
            Result = New StreamReader(Response.GetResponseStream()).ReadToEnd()
            Response.Close()
            Return Result
        End With
    End Function

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 01.10.2011 (Сб) 22:43

strelec писал(а):
Код: Выделить всё
CookiesString = R_Cokie(Response) 'оправка куки

Почему отправка? Тут же получение!

strelec писал(а):
Код: Выделить всё
.Headers.Add(HttpRequestHeader.Cookie, CookiesString)

А вот тут - отправка.

А чем мой вариант не угодил?

strelec писал(а):да я скачал исходник на форуме работает )) но не как не могу делать для сайта http://downloadfile.ucoz.ru/ это тестовый сайт я создал для теста ))) но не как не могу авто

Это тоже сделал? И зачем было нужно PM? В теме же можно спросить.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re:

Сообщение strelec » 02.10.2011 (Вс) 12:57

Qwertiy писал(а):
strelec писал(а):
Код: Выделить всё
CookiesString = R_Cokie(Response) 'оправка куки

Почему отправка? Тут же получение!

strelec писал(а):
Код: Выделить всё
.Headers.Add(HttpRequestHeader.Cookie, CookiesString)

А вот тут - отправка.

А чем мой вариант не угодил?

strelec писал(а):да я скачал исходник на форуме работает )) но не как не могу делать для сайта http://downloadfile.ucoz.ru/ это тестовый сайт я создал для теста ))) но не как не могу авто

Это тоже сделал? И зачем было нужно PM? В теме же можно спросить.




Код: Выделить всё
CookiesString &= "; " & Response.Headers("Set-Cookie")
этот вариант не работает потому что
1. на сайте который я делал идет много куки которые без значения когда я их передавал авторизация не происходило
если я место этого
Код: Выделить всё
Protected Function R_Cokie(ByVal response As HttpWebResponse) As String
Dim cookieColektion As CookieCollection = response.Cookies
Dim rCookie As String
For cNum As Integer = 0 To cookieColektion.Count - 1
If cookieColektion(cNum).Value <> "" Then
rCookie &= cookieColektion(cNum).Name & "=" & cookieColektion(cNum).Value & "; "
End If
Next
Return rCookie
End Function


отправлю

Код: Выделить всё
Protected Function R_Cokie(ByVal response As HttpWebResponse) As String
Dim rCookie As String
rCookie &= "; " & Response.Headers("Set-Cookie")
Return rCookie
End Function

авторизация не происходит ((
я сам начинающий и не знаю почему но это так(((
это код я вообще стер
Код: Выделить всё
CookieContainer.SetCookies(New Uri("Тут должен быть адрес сайта"), CookiesString)

и это
Код: Выделить всё
.CookieContainer = CookieContainer

для GetHtmlPageByGet
а для пост оставил и у меня получилось )
почему в пм написал потому-что только ты реально мне хотел помогать ))) ну и FireFenix всегда отвечает )) спс вам))

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 02.10.2011 (Вс) 21:57

strelec писал(а):... response.Cookies ...

Интересно, что когда я написал свой код (для другого сайта, не для форума), эта коллекция просто была пустой, а нужные мне кукизы находились в Response.Headers("Set-Cookie"). Но присваивание не давало нужного результата, я сделал вывод, что должны оставаться старые, поэтому поставил конкатенацию.

strelec писал(а):почему в пм написал потому-что только ты реально мне хотел помогать ))) ну и FireFenix всегда отвечает )) спс вам))

Пожалуйста :)

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 02.10.2011 (Вс) 22:07

strelec писал(а):rCookie &= "; " & Response.Headers("Set-Cookie")

Обращаю внимание, что код для форума новее ранее приведённого мной кода и содержит некоторые модификации, в том числе, аналог этой строки был изменён на
Код: Выделить всё
CookiesString &= If(CookiesString = "", "", "; ") & Response.Headers("Set-Cookie")
с целью возможности многократного использования функции при условии, что один из вызовов будет первым, т. е. строка кукизов будет ещё пустой. Начальное значение "" выбрано намеренно, т. к. использование Nothing недопустимо при создании CookieContainer'а.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 02.10.2011 (Вс) 23:57

свои вопросы я напишу тут )))
о5 1 маленькая проблема )
к примеру я должен передать вот такой текст
Content-Disposition: form-data; name="internal_link_new_name"\r\n\r\n\r
как мне его сохранит в переменную строку ? так как кавычки в тексте как его сохранит ? (
Dim Mytext As string "String= Content-Disposition: form-data; name="internal_link_new_name"\r\n\r\n\r"

Qwertiy попробую твой новый код и скажу )

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 03.10.2011 (Пн) 0:28

strelec писал(а):к примеру я должен передать вот такой текст
Content-Disposition: form-data; name="internal_link_new_name"\r\n\r\n\r

Брррр...
Под "\r\n" подразумевается перевход строки? Почему в конце только "\r"?
A кавычки действительно нужны?
Код: Выделить всё
Dim Str As String = "Content-Disposition: form-data; name=""internal_link_new_name""" & vbCrLf & vbCrLf & vbCr
Если только я Cr с Lf не перепутал (поменяешь в таком случае, идея та же).

strelec писал(а):Dim Mytext As string "String= Content-Disposition: form-data; name="internal_link_new_name"\r\n\r\n\r"

Это - бред:
1. Нет знака присваивания перед кавычками, ноесть лишнее "String=".
2. Если кавычки должны быть внутри строки, то в VB они ставятся два раза.
3. VB не поддерживает конструкции типа "\r", они передаются так, как написано.

PS: Написал и подумал, ты FormData передаёшь, а не FormUrlEncoded? Или это уже не для входа?

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 03.10.2011 (Пн) 14:31

о5 куки((((((((((((((((((((((
смотрите делаю запрос
Filder-Http показывает что сервер возвратил

HTTP/1.1 302 Found
Server: nginx/0.7.67
Date: Mon, 03 Oct 2011 11:17:25 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.3.3-1ubuntu9.3
Set-Cookie: debug_panel=0; expires=Tue, 04-Oct-2011 11:17:21 GMT; path=/
Set-Cookie: ref_full=http%3A%2F%2Flib.wm-panel.com%2Fadmin%2Fclicker%2F%3Fpage%3Dclicker; expires=Fri, 07-Oct-2011 11:17:21 GMT; path=/; domain=.letitbit.net
Set-Cookie: ref_site=lib.wm-panel.com; expires=Fri, 07-Oct-2011 11:17:21 GMT; path=/; domain=.letitbit.net
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: log=deleted; expires=Sun, 03-Oct-2010 11:17:20 GMT; path=/; domain=.wm-panel.com
Set-Cookie: pas=deleted; expires=Sun, 03-Oct-2010 11:17:20 GMT; path=/; domain=.wm-panel.com
Set-Cookie: host=deleted; expires=Sun, 03-Oct-2010 11:17:20 GMT; path=/; domain=.wm-panel.com
Set-Cookie: log=roshcius%40yandex.ru; expires=Thu, 13-Oct-2011 11:17:21 GMT; path=/; domain=.lib.wm-panel.com
Set-Cookie: pas=26acef9ab99c361b0bd8b68efd7037f7; expires=Thu, 13-Oct-2011 11:17:21 GMT; path=/; domain=.lib.wm-panel.com
Set-Cookie: host=wm-panel_com; expires=Thu, 13-Oct-2011 11:17:21 GMT; path=/; domain=.lib.wm-panel.com

Location: http://lib.wm-panel.com/admin/clicker/?page=clicker
Content-Length: 0


читаю с помощю Headers("Set-Cookie")

CookiesString = Response.Headers("Set-Cookie") 'чтение кукиv
console.WriteLine(CookiesString)


показывает только

debug_panel=0; expires=Tue, 04-Oct-2011 11:17:25 GMT; path=/,ref_full=http%3A%2F
%2Flib.wm-panel.com%2Fwm-panel%2FUser%2Fsignin-do; expires=Fri, 07-Oct-2011 11:1
7:25 GMT; path=/; domain=.letitbit.net,ref_site=lib.wm-panel.com; expires=Fri, 0
7-Oct-2011 11:17:25 GMT; path=/; domain=.letitbit.net


читаю вес Headers
console.WriteLine(response.Headers.ToString)
показывает только
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8
Date: Mon, 03 Oct 2011 11:17:25 GMT
Set-Cookie: debug_panel=0; expires=Tue, 04-Oct-2011 11:17:25 GMT; path=/,ref_ful
l=http%3A%2F%2Flib.wm-panel.com%2Fwm-panel%2FUser%2Fsignin-do; expires=Fri, 07-O
ct-2011 11:17:25 GMT; path=/; domain=.letitbit.net,ref_site=lib.wm-panel.com; ex
pires=Fri, 07-Oct-2011 11:17:25 GMT; path=/; domain=.letitbit.net

Server: nginx/0.7.67
X-Powered-By: PHP/5.3.3-1ubuntu9.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache


читаю с помощю колекции response.Cookies
Код: Выделить всё
Protected Function R_Cokie(ByVal response As HttpWebResponse) As String
Dim TempCookie As String
For cNum As Integer = 0 To response.Cookies.Count - 1
If response.Cookies(cNum).Value <> "" Then
TempCookie &= response.Cookies(cNum).Name & "=" & response.Cookies(cNum).Value & "; "
End If
Next

console.WriteLine(TempCookie )
End Function


Показывает
debug_panel=0; 1
как видно только первая строка читается а где все остолные ? ((((((((((

Set-Cookie: pas=deleted; expires=Sun, 03-Oct-2010 11:17:20 GMT; path=/; domain=.wm-panel.com
Set-Cookie: host=deleted; expires=Sun, 03-Oct-2010 11:17:20 GMT; path=/; domain=.wm-panel.com
Set-Cookie: log=roshcius%40yandex.ru; expires=Thu, 13-Oct-2011 11:17:21 GMT; path=/; domain=.lib.wm-panel.com
Set-Cookie: pas=26acef9ab99c361b0bd8b68efd7037f7; expires=Thu, 13-Oct-2011 11:17:21 GMT; path=/; domain=.lib.wm-panel.com
Set-Cookie: host=wm-panel_com; expires=Thu, 13-Oct-2011 11:17:21 GMT; path=/; domain=.lib.wm-panel.com

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: прошу помощи

Сообщение FireFenix » 03.10.2011 (Пн) 15:05

Что за вырвиглазное оформление? Зачем кучу лишней информации, если можно написать только основное?

strelec писал(а):о5 куки((((((((((((((((((((((

Отладчик юзать не научили?

strelec писал(а):как видно только первая строка читается а где все остолные ? ((((((((((

Исходник проекта в студию
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: прошу помощи

Сообщение strelec » 03.10.2011 (Пн) 16:02

извините если я не так оформил )
вот исходник обратите внимание на запрос wm-panel/User/signin-do там проблема
спс за внимание
Вложения
auth.rar
АВТОРИЗАЦИЯ
(47.3 Кб) Скачиваний: 206

След.

Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

    TopList