2012-06-17 2 views
0

У меня есть этот кодКак войти на youtube и сохранить файлы cookie? vb.net

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim logincookie As New CookieContainer 


    Dim postData As String = "continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26feature%3Dheader%26nomobiletemp%3D1%26hl%3Den_US%26next%3D%252F&service=youtube&uilel=3&dsh=-5804339713411277263&ltmpl=sso&hl=en_US&GALX=kpcgpuXEK94&pstMsg=1&dnConn=&checkConnection=youtube%3A4148%3A1&checkedDomains=youtube&timeStmp=&secTok=&Email=" & user_fb.Text & "&Passwd=" & pass_fb.Text & "&signIn=Sign+in&PersistentCookie=yes&rmShown=1" 
    Dim tempCookies As New CookieContainer 
    Dim encoding As New UTF8Encoding 
    Dim byteData As Byte() = encoding.GetBytes(postData) 


    Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://accounts.google.com/ServiceLoginAuth"), HttpWebRequest) 
    postReq.Method = "POST" 
    postReq.KeepAlive = True 
    postReq.CookieContainer = tempCookies 
    postReq.ContentType = "application/x-www-form-urlencoded" 
    postReq.Referer = "https://accounts.google.com/ServiceLoginAuth" 
    postReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko)" 
    postReq.ContentLength = byteData.Length 
    Dim postreqstream As Stream = postReq.GetRequestStream() 
    postreqstream.Write(byteData, 0, byteData.Length) 
    postreqstream.Close() 
    Dim postresponse As HttpWebResponse 

    logincookie = tempCookies 
    postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse) 
    tempCookies.Add(postresponse.Cookies) 


    Dim postreqreader As New StreamReader(postresponse.GetResponseStream()) 

    Dim thepage As String = postreqreader.ReadToEnd 
    WebBrowser1.DocumentText = thepage 


End Sub 

пытается сделать инструмент для YouTube загружать видео, но это, кажется, есть проблема, печенье, когда я пытаюсь войти!

говорится, что куки должны быть разрешены для запуска этого действия! Как включить cookies?

+0

vb.net - это не то же самое, что vb6. Удалите ненужный тег. – Deanna

ответ

0

Определите еще один Cookie контейнер в начале:

Dim oRequestCookie As New CookieContainer 

Попробуйте добавить

CType(postReq, HttpWebRequest).CookieContainer = oRequestCookie 

При определении параметров HttpWebRequest. И затем в конце вы можете извлечь файл cookie для входа, как вы уже делали. Cheers.

0

Проблема в том, что ваша страница см следует поместить печенье в машине пользователя https://accounts.google.com/ServiceLoginAuth

тогда, когда ваша попытка войти проверить Google для этих куки, прежде чем вы могли бы войти и как сейчас Google найдет печенье. Решение состоит в том, чтобы сначала получить доступ к вашей справочной странице и обязательно использовать CookieContainer на этой странице, а затем позвонить вашему коду, и он будет работать на 100%.

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

0
... 

Dim galx As New Cookie 
galx.Name = "GALX" 
galx.Value = "something" 
galx.Domain = ".google.com" 
Dim postData As String = "GALX=something&continue=http%3A%2F...... 

... 

tempCookies.Add(galx) 

Я искал именно эту вещь "youtube login". Я получил такое же сообщение на webbrowser1 с кодом «grudolf». Затем я просмотрел «инструменты/консоль разработчика» firefox при входе в youtube. Была коллекция файлов cookie с членами «ACCOUNT_CHOOSER», «GALX», «GAPS» и т. Д. Когда я добавляю cookie с именем «GALX» с любой долькой и добавляю то же самое в почтовые данные, результат был в порядке. Я просто добавил код. Надеюсь, это поможет ...

+0

Это не ответ на вопрос, удалите этот ответ. –

+0

Я искал именно эту вещь «youtube login». Я получил такое же сообщение в webbrowser1. затем я посмотрел «инструменты/консоль разработчика» firefox при входе в систему youtube. была коллекция файлов cookie с членами «ACCOUNT_CHOOSER», «GALX», «GAPS» и т. д. ... когда я добавляю cookie с именем «GALX» с любой долькой и добавляю то же самое в почтовые данные, результат был в порядке. Я написал только код добавления для ответа. Надеюсь, это поможет... –

Смежные вопросы