Page 1 of 2

VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 08, 2015 9:12 pm
by thanasit55
สอบถามอาจารย์หน่อยครับพอดีไม่มีความรู้เรื่อง VB เลย พอดีอยากทำ Login web เลยดูคลิปตาม youtube แล้วลองทำตามดู ตามคลิปนี้ครับ

ตอนนี้ทำตามหมดติดปัญหาตรงที่ให้มันกดปุ่ม Login ครับ พอดีผมทำกับเว็บอื่นครับ เว็บ https://ini3netcafe.mygame.in.th/
ซึ่งในตัวปุ่ม Login ของเว็บนั้นไม่มี Name ให้ครับ เวลารัน โปรแกรมแล้วกด login มันจะใส่ค่าลงไปในช่อง User กับ Password แต่ไม่กดปุ่ม Login ให้ครับ ไม่ทราบว่าควรไปแก้ตรงไหนดีครับ

Code: Select all

Public Class Form1

    Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = "" Then
            MsgBox("กรุณาใส่ Username ก่อน", MsgBoxStyle.Critical)
        ElseIf TextBox2.Text = "" Then
            MsgBox("กรุณาใส่ Password ก่อน", MsgBoxStyle.Critical)
        Else
            WebBrowser1.Document.GetElementById("inputID").SetAttribute("value", TextBox1.Text)
            WebBrowser1.Document.GetElementById("inputPW").SetAttribute("value", TextBox2.Text)
            WebBrowser1.Document.GetElementById("btn-login").InvokeMember("click")
        End If

    End Sub
End Class
ขอบคุณครับ

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Fri Oct 09, 2015 7:42 pm
by snasui
:D เท่าที่ดูก็อ้างอิงชื่อปุ่มบนเว็บที่แนบมาถูกต้องแล้ว ส่วนที่ Login ไม่ได้นั้นไม่สามารถตรวจสอบให้ได้เนื่องจากไม่มี Project ไม่ทราบว่ามี Error ใดหรือไม่ครับ :?:

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sat Oct 10, 2015 8:34 am
by thanasit55
snasui wrote::D เท่าที่ดูก็อ้างอิงชื่อปุ่มบนเว็บที่แนบมาถูกต้องแล้ว ส่วนที่ Login ไม่ได้นั้นไม่สามารถตรวจสอบให้ได้เนื่องจากไม่มี Project ไม่ทราบว่ามี Error ใดหรือไม่ครับ :?:
ไม่มี error ใดเกิดขึ้นเลยครับมันมีปัญหาตรงเวลากดที่ปุ่ม button1 แล้วใน WebBrowser1 ที่แทรกไว้ มันจะใส่ค่าของ ID กับ password ลงไปเค่นั้นครับแต่ไม่ทำการกด login ให้ เดี๋ยวผมเอา Project ให้อาจารย์ดูนะครับ

https://drive.google.com/open?id=0ByLRl ... 1pzcXR0U2c

นี่เป็นภาพตอน run ครับ หลังจากกด login มันจะใส่ค่าลงไปแค่ ID กับ Pass แล้วมันไม่กดปุ่ม login ในเว็บให้ครับ
Image

ขอบคุณครับอาจารย์

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Tue Oct 13, 2015 8:18 pm
by snasui
:D ผมดาวน์โหลดไม่ได้ ติด Permission ไม่ทราบว่า Project มีขนาดเท่าใด ตัดเอามาเฉพาะงานนี้ก็พอครับ

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Wed Oct 14, 2015 10:33 pm
by thanasit55
snasui wrote::D ผมดาวน์โหลดไม่ได้ ติด Permission ไม่ทราบว่า Project มีขนาดเท่าใด ตัดเอามาเฉพาะงานนี้ก็พอครับ
เดี๋ยวผมทำเป็น project ใหม่เลยดีกว่าครับให้เป็นแนวทางแก้ไขเอามาปรับใช้ครับ รบกวนอาจารย์หน่อยนะครับ ผมได้แนบไฟล์ไว้ให้แล้วนะครับ

อาจารย์สามารถเทสโดยการกดปุ่ม login ในหน้าเว็บดูได้นะครับโดยไม่ต้องใส่ ID-pass มันจะเด้งเตือนขึ้นมา

แล้วก็สอบถามอาจารย์อีกข้อครับ การแสดง IP เราสามารถแยกให้มันแสดง ใน label 4 label ได้หรือไม่ครับพอดีผมใช้ code ตัวนี้อยู่ครับ

Code: Select all

Imports System.Net
Imports System.IO
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim req As HttpWebRequest = WebRequest.Create("http://bot.whatismyipaddress.com")
        Dim res As HttpWebResponse = req.GetResponse
        Dim stream As Stream = res.GetResponseStream
        Dim sr As New StreamReader(stream)
        TextBox3.Text = sr.ReadToEnd
    End Sub
End Class
ขอบคุณอาจารย์มากครับผม

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 6:32 am
by snasui
:D Project ที่แนบมามีแต่ Code ด้านล่างเท่านั้น

Code: Select all

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Document.GetElementById("btn-login").InvokeMember("click")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://ini3netcafe.mygame.in.th/")
    End Sub
End Class
ช่วยแนบ Code สำหรับการ Login, Code แสดง IP ที่บอกว่าเป็นปัญหามาใน Project ด้วยครับ

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 10:38 am
by thanasit55
snasui wrote::D Project ที่แนบมามีแต่ Code ด้านล่างเท่านั้น

Code: Select all

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Document.GetElementById("btn-login").InvokeMember("click")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://ini3netcafe.mygame.in.th/")
    End Sub
End Class
ช่วยแนบ Code สำหรับการ Login, Code แสดง IP ที่บอกว่าเป็นปัญหามาใน Project ด้วยครับ
โอ้ ขอภัยด้วยครับอาจารย์ แนบไฟลใหม่ครับในส่วนของ IP อยากให้มันขึ้นแบบในรูปนี้ครับ
Image

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 10:46 am
by thanasit55
thanasit55 wrote:
snasui wrote::D Project ที่แนบมามีแต่ Code ด้านล่างเท่านั้น

Code: Select all

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Document.GetElementById("btn-login").InvokeMember("click")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://ini3netcafe.mygame.in.th/")
    End Sub
End Class
ช่วยแนบ Code สำหรับการ Login, Code แสดง IP ที่บอกว่าเป็นปัญหามาใน Project ด้วยครับ
โอ้ ขอภัยด้วยครับอาจารย์ แนบไฟลใหม่ครับในส่วนของ IP อยากให้มันขึ้นแบบในรูปนี้ครับ
Image
ในส่วนของการแสดง IP ใน VB ผมใส่ ' ไว้หน้าcode เพื่อไม่ให้มันทำงาน บางครั้งเวลารันโดยการกด F5 มันจะแจ้ง error ขึ้นแบบนี้ซึ่งคาดว่าน่าจะเกิดจากการที่ Webrequest ที่อ้างถึงไม่สามารถเข้าได้แต่ถ้าเข้าไปเปิดตัวโปรแกรมโดยตรงใน folder Debug มันสามารถ รันได้ปรกติครับซึ่งในส่วนนี้ขอคำแนะนำเว็บเพิ่มเติมจากอาจารย์ด้วยครับ error ตามรูปครับ

Code: Select all

Dim res As HttpWebResponse = req.GetResponse
Image

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 9:24 pm
by snasui
:D กรณีการ Login น่าจะใช้ Code นี้ได้

Code: Select all

WebBrowser1.Document.GetElementById("btn-login").InvokeMember("click")
แต่เท่าที่ลองก็ไม่แสดงผลอะไร เดี๋ยวหากมีเวลาแล้วจะหาคำตอบให้รวมทั้งกรณี Error ด้วยครับ

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 9:51 pm
by thanasit55
snasui wrote::D กรณีการ Login น่าจะใช้ Code นี้ได้

Code: Select all

WebBrowser1.Document.GetElementById("btn-login").InvokeMember("click")
แต่เท่าที่ลองก็ไม่แสดงผลอะไร เดี๋ยวหากมีเวลาแล้วจะหาคำตอบให้รวมทั้งกรณี Error ด้วยครับ
ครับผม ขอบคุณอาจารย์มากครับ ผมก็ลองหา code จากหลายๆเว็บแล้วมันก็ไม่ทำงาน :flw: ตอนนี้ก็ทำหน้า form อื่นๆ รอไปก่อนแล้วในส่วนของ IP ที่อยากให้แสดงเป็น 4 textbox นี่สามารถทำได้หรือไม่ครับ :D

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 10:15 pm
by snasui
thanasit55 wrote:ในส่วนของ IP ที่อยากให้แสดงเป็น 4 textbox นี่สามารถทำได้หรือไม่ครับ
:D ทำได้ครับ

ตัวอย่าง Code

Code: Select all

Dim ipVar as variant
dim txtIP as string
ipVar = split(txtIP,".")
tBox1 = ipVar(0)
tBox2 = ipVar(1)
tBox3 = ipVar(2)
tBox4 = ipVar(3)
โดย txtIP คือค่าตัวแปรแทนหมายเลข IP ส่วน tBox1, tBox2, tBox3, tBox4 คือ TextBox ที่รับค่า IP แต่ละค่าที่แบ่งออกมาแล้ว

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Thu Oct 15, 2015 11:06 pm
by thanasit55
snasui wrote:
thanasit55 wrote:ในส่วนของ IP ที่อยากให้แสดงเป็น 4 textbox นี่สามารถทำได้หรือไม่ครับ
:D ทำได้ครับ

ตัวอย่าง Code

Code: Select all

Dim ipVar as string
dim txtIP as string
ipVar = split(txtIP,".")
tBox1 = ipVar(0)
tBox2 = ipVar(1)
tBox3 = ipVar(2)
tBox4 = ipVar(3)
โดย txtIP คือค่าตัวแปรแทนหมายเลข IP ส่วน tBox1, tBox2, tBox3, tBox4 คือ TextBox ที่รับค่า IP แต่ละค่าที่แบ่งออกมาแล้ว
ขอรบกวนอาจารย์อีกหน่อยนะครับ พอดีความรู้ด้านนี้ไม่มีเลยจริงๆ :D ไม่ทรายว่า code ตัวนี้ควรเอาไปวางต่อแบบไหนครับ ต่อจาก Form1 เลยหรืออย่างไรครับแล้ว txtIP นี่คือ textbox ที่แสดง ip แบบเต็มๆใช่หรือไม่ครับแล้วสร้าง textbox ขึ้นมาอีก 4 อันใช่ไหมครับ พอดีผมลองแก้แล้ว error เพียบเลยครับผม

Code: Select all

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim req As HttpWebRequest = WebRequest.Create("http://bot.whatismyipaddress.com")
        Dim res As HttpWebResponse = req.GetResponse
        Dim stream As Stream = res.GetResponseStream
        Dim sr As New StreamReader(Stream)
        TextBox3.Text = sr.ReadToEnd
        Dim ipVar As String
        Dim textbox3 As String
        ipVar = Split(textbox3, ".")
        TextBox4 = ipVar(0)
        TextBox5 = ipVar(1)
        TextBox6 = ipVar(2)
        TextBox7 = ipVar(3)
    End Sub
ถ้าไม่เป็นการรบกวนอาจารย์มากเกินไปผมขอตัวอย่างไฟล์แนบได้หรือไม่ครับ :flw:

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sat Oct 17, 2015 3:59 pm
by snasui
:D ตัวอย่าง Code สำหรับการแสดง IP ครับ

ส่วนของ Site ที่แนบมานั้นเกิด Error ไม่สามารถแสดง IP ได้

Code: Select all

Try
	Dim codeProjectHost As String = "www.google.com" '"http://www.ini3netcafe.mygame.in.th/"
	Dim ips As IPAddress() = Dns.GetHostAddresses(codeProjectHost)
	Dim t As String = String.Empty
	Dim ipSeparate() As String
	For Each ip As IPAddress In ips
		t += t & ip.ToString()
		Exit For
	Next
	TextBox3.Text = t
	ipSeparate = Split(t, ".")
	TextBox4.Text = ipSeparate(0)
	TextBox5.Text = ipSeparate(1)
	TextBox6.Text = ipSeparate(2)
	TextBox7.Text = ipSeparate(3)
Catch ex As Exception
	MessageBox.Show(ex.Message)
End Try
ด้านล่างเป็นภาพการเพิ่ม TextBox เข้ามารับค่า IP ที่แบ่งออกเป็น 4 ชุดครับ

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sat Oct 17, 2015 7:41 pm
by thanasit55
snasui wrote::D ตัวอย่าง Code สำหรับการแสดง IP ครับ

ส่วนของ Site ที่แนบมานั้นเกิด Error ไม่สามารถแสดง IP ได้

Code: Select all

Try
	Dim codeProjectHost As String = "www.google.com" '"http://www.ini3netcafe.mygame.in.th/"
	Dim ips As IPAddress() = Dns.GetHostAddresses(codeProjectHost)
	Dim t As String = String.Empty
	Dim ipSeparate() As String
	For Each ip As IPAddress In ips
		t += t & ip.ToString()
		Exit For
	Next
	TextBox3.Text = t
	ipSeparate = Split(t, ".")
	TextBox4.Text = ipSeparate(0)
	TextBox5.Text = ipSeparate(1)
	TextBox6.Text = ipSeparate(2)
	TextBox7.Text = ipSeparate(3)
Catch ex As Exception
	MessageBox.Show(ex.Message)
End Try
ด้านล่างเป็นภาพการเพิ่ม TextBox เข้ามารับค่า IP ที่แบ่งออกเป็น 4 ชุดครับ
ขอบคุณมากครับอาจารย์ ตอนนี้ก็เหลือแต่การกดปุ่มอย่างเดียวละครับ :thup: ขอบคุณอาจาร์ยมากครับผม

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sun Oct 18, 2015 9:53 am
by snasui
:D ตัวอย่าง Code สำหรับการคลิกปุ่มเพื่อ Login ครับ

Code: Select all

If TextBox1.Text = "" Then
	MsgBox("กรุณาใส่ Username ก่อน", MsgBoxStyle.Critical)
ElseIf TextBox2.Text = "" Then
	MsgBox("กรุณาใส่ Password ก่อน", MsgBoxStyle.Critical)
Else
	WebBrowser1.Document.GetElementById("inputID").SetAttribute("value", TextBox1.Text)
	WebBrowser1.Document.GetElementById("inputPW").SetAttribute("value", TextBox2.Text)
	Try
		Dim theElementCollection As HtmlElementCollection
		theElementCollection = WebBrowser1.Document.All
		For Each curElement As HtmlElement In theElementCollection
			If curElement.GetAttribute("OuterHtml").Contains("btn-login.png") Then
				curElement.InvokeMember("click")
				'MsgBox("it does the job")
			End If
		Next
	Catch exc As Exception
		MsgBox(exc.Message)
	End Try
End If

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sun Oct 18, 2015 12:10 pm
by thanasit55
snasui wrote::D ตัวอย่าง Code สำหรับการคลิกปุ่มเพื่อ Login ครับ

Code: Select all

If TextBox1.Text = "" Then
	MsgBox("กรุณาใส่ Username ก่อน", MsgBoxStyle.Critical)
ElseIf TextBox2.Text = "" Then
	MsgBox("กรุณาใส่ Password ก่อน", MsgBoxStyle.Critical)
Else
	WebBrowser1.Document.GetElementById("inputID").SetAttribute("value", TextBox1.Text)
	WebBrowser1.Document.GetElementById("inputPW").SetAttribute("value", TextBox2.Text)
	Try
		Dim theElementCollection As HtmlElementCollection
		theElementCollection = WebBrowser1.Document.All
		For Each curElement As HtmlElement In theElementCollection
			If curElement.GetAttribute("OuterHtml").Contains("btn-login.png") Then
				curElement.InvokeMember("click")
				'MsgBox("it does the job")
			End If
		Next
	Catch exc As Exception
		MsgBox(exc.Message)
	End Try
End If
ขอบคุณครับอาจารย์ ขอนำไปทดสอบแล้วจะแจ้งผลนะครับ
ส่วนของการแสดง IP ผมติด error ตรงคำว่า IPaddress() ครับ มันแจ้งว่า type 'IPaddress' is not defined ผมต้องไปกำหนดอะไรเพิ่มเติมหรอครับ

ขอบคุณอาจารย์มากครับผม

ปล.code login สามารถทำงานได้ตามต้องการแล้วครับ :thup:

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sun Oct 18, 2015 12:25 pm
by thanasit55
thanasit55 wrote:
snasui wrote::D ตัวอย่าง Code สำหรับการคลิกปุ่มเพื่อ Login ครับ

Code: Select all

If TextBox1.Text = "" Then
	MsgBox("กรุณาใส่ Username ก่อน", MsgBoxStyle.Critical)
ElseIf TextBox2.Text = "" Then
	MsgBox("กรุณาใส่ Password ก่อน", MsgBoxStyle.Critical)
Else
	WebBrowser1.Document.GetElementById("inputID").SetAttribute("value", TextBox1.Text)
	WebBrowser1.Document.GetElementById("inputPW").SetAttribute("value", TextBox2.Text)
	Try
		Dim theElementCollection As HtmlElementCollection
		theElementCollection = WebBrowser1.Document.All
		For Each curElement As HtmlElement In theElementCollection
			If curElement.GetAttribute("OuterHtml").Contains("btn-login.png") Then
				curElement.InvokeMember("click")
				'MsgBox("it does the job")
			End If
		Next
	Catch exc As Exception
		MsgBox(exc.Message)
	End Try
End If
ขอบคุณครับอาจารย์ ขอนำไปทดสอบแล้วจะแจ้งผลนะครับ
ส่วนของการแสดง IP ผมติด error ตรงคำว่า IPaddress() ครับ มันแจ้งว่า type 'IPaddress' is not defined ผมต้องไปกำหนดอะไรเพิ่มเติมหรอครับ

ขอบคุณอาจารย์มากครับผม

ปล.code login สามารถทำงานได้ตามต้องการแล้วครับ :thup:
ปล.2 code IP ทำงานแล้วครับ ขอบคุณอาจารย์มากครับ ผมลืม

Code: Select all

Imports System.Net
Imports System.IO
:D

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sun Oct 18, 2015 12:33 pm
by thanasit55
อาจารย์ครับ ในส่วนของ IP ยังไม่ตรงครับ มันเป็น DNS IP หรือปล่าวครับเพราะ IP ในโปรแกรมกับ IP ของผมไม่ตรงกันครับ

มันได้ IP 173.194.120.159 มาครับ ซึ่งของผมนั้นต้องขึ้นด้วย 49.xxx.xxx.xxx ครับ :flw:

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sun Oct 18, 2015 12:43 pm
by snasui
thanasit55 wrote:อาจารย์ครับ ในส่วนของ IP ยังไม่ตรงครับ มันเป็น DNS IP หรือปล่าวครับเพราะ IP ในโปรแกรมกับ IP ของผมไม่ตรงกันครับ
:D Code ที่ผมเขียนเป็นตัวอย่างไปเป็น IP ของ Google สังเกตจาก Dim codeProjectHost As String = "[color=#FF4000]www.google.com[/color]" '"http://www.ini3netcafe.mygame.in.th/" ครับ ส่วนของ Web ที่ให้มานั้นไม่สามารถที่จะดึง IP มาด้วย Code ที่ผมเขียนไปได้ ซึ่งผมได้แจ้งเอาไว้แล้วเช่นกัน อันนี้ผมคงช่วยไม่ได้ คงต้องลองค้นดูเองว่าเกิดจากปัญหาใดครับ

Re: VB2010 สอบถามเรื่องการ Login web ต่างๆ

Posted: Sun Oct 18, 2015 12:46 pm
by thanasit55
snasui wrote:
thanasit55 wrote:อาจารย์ครับ ในส่วนของ IP ยังไม่ตรงครับ มันเป็น DNS IP หรือปล่าวครับเพราะ IP ในโปรแกรมกับ IP ของผมไม่ตรงกันครับ
:D Code ที่ผมเขียนเป็นตัวอย่างไปเป็น IP ของ Google สังเกตจาก Dim codeProjectHost As String = "[color=#FF4000]www.google.com[/color]" '"http://www.ini3netcafe.mygame.in.th/" ครับ ส่วนของ Web ที่ให้มานั้นไม่สามารถที่จะดึง IP มาด้วย Code ที่ผมเขียนไปได้ ซึ่งผมได้แจ้งเอาไว้แล้วเช่นกัน อันนี้ผมคงช่วยไม่ได้ คงต้องลองค้นดูเองว่าเกิดจากปัญหาใดครับ
ขอบคุณครับอาจารย์ ลองงัดแงะแก้ไขไปก่อนครับ :thup: