Author | Post | |||
sniperkid![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Im trying to send multiple data (eg username/password/hidden field) to a website but it doesn't seem to work. The following is what i have: Website Code Code: <form> <input type="text" name="txtUsername" /> <input type="password" name="txtPassword /> <input type="hidden" name="txtHidden" value="123" /> </form> vb.Net Code Code: Dim wRequest As HttpWebRequest = HttpWebRequest.Create(sWebsite & "/login.aspx") Dim sPost As String = "" sPost &= "txtUsername=" & sUsername & "&" sPost &= "txtPassword=" & sPassword & "&" sPost &= "txtHidden=123" Dim byteArray As Byte() = Encoding.UTF8.GetBytes(sPost) With wRequest .ContentType = "application/x-www-form-urlencoded" .ContentLength = byteArray.Length .Method = "POST" Dim dataStream As Stream = .GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() Dim response As WebResponse = .GetResponse() dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() msgbox(responseFromServer) 'This gives me the login.aspx source (if something was submitted it would be different) reader.Close() dataStream.Close() response.Close() Anyone have any previous experience in this? Before, the website used to accept GET requests, now its been changed it doesn't ![]() Thanks |
|||
![]() |
|
|||
quangntenemy![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Does it say wrong username or password or something? Maybe you should check the request sent from your browser to see if you're missing anything. I usually use StreamReader with URLEncoder to send the request. You should easily find an example somewhere on the net ![]() |
|||
![]() |
|
|||
sniperkid![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Doesn't say incorrect anything, just displays the login page as if you first opened it. I made sure i was sending all the vars (saved page locally, changed method to GET then copied vars). I will do some more research ![]() |
|||
![]() |
|
|||
aceldama![]() ![]() ![]() ![]() |
you need to employ a cookie container sniperkid. you can see how that's done in my solution to the lights-out puzzle, but i think this is the code segment you're looking for: Private Sub BrightShadowsLogin() Dim postData As String = _ "retry=&submitted=1&location=%2Fhome.php&" & _ "edit_username=" & BrightShadowsUsername & _ "&edit_password=" & BrightShadowsPassword Dim httpRequest As HttpWebRequest Dim httpResponse As WebResponse Dim dataStream As Stream Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) Dim strResponse As String httpRequest = CType(WebRequest.Create("http://bright-shadows.net/login.php"), HttpWebRequest) httpRequest.Method = "POST" httpRequest.Timeout = miTimeOut * 1000 httpRequest.AllowAutoRedirect = True httpRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" httpRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)" httpRequest.KeepAlive = True httpRequest.CookieContainer = miCookieJar httpRequest.ContentType = "application/x-www-form-urlencoded" httpRequest.ContentLength = byteArray.Length Try 'TX dataStream = httpRequest.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() 'RX httpResponse = httpRequest.GetResponse() dataStream = httpResponse.GetResponseStream() Dim reader As New StreamReader(dataStream) strResponse = reader.ReadToEnd() reader.Close() dataStream.Close() httpResponse.Close() Catch 'Fail End Try End Sub |
|||
![]() |
|
|||
sniperkid![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
mmm maybe its not my code, maybe im not submitting the correct information example of the stuff im submitting is: sPost &= "__LASTFOCUS=&" sPost &= "__EVENTTARGET=&" sPost &= "__EVENTARGUMENT=&" sPost &= "__VIEWSTATE=/wEPDwUJMjE4NDk2NjYxD2QWAmYPZBYCAgMPZBYCAgEPDxYCHgRUZXh0BQMxMDVkZGROTAtiBEeqBpwbVz+Zh68Bcs/LLve+xk195WuB5nowHg==&" sPost &= "__EVENTVALIDATION=/wEWBAK+6ajbDALJ4frZBwL90KKTCAKO9e+RAZmqn2sxUhlSXxifN65YRY4UESnY12T/vJMCV0Jnu+ty&" sPost &= "ctl00$ContentPlaceHolder1$txtUsername=test&" sPost &= "ctl00$ContentPlaceHolder1$txtPassword=test&" sPost &= "ctl00$ContentPlaceHolder1$btnLogin=Login&" sPost &= "recaptcha_challenge_field=03AHJ_VutxztrM0v7h_9hUFQ6PzKwBIHounw_udoJaP8p0BCz93zc7k7EBDPuKyBliXyjo-W31hWJufZb7q0o905fIgkhFrB6zyaAt8WVIcZdBS9bCVMR5zC-gqVKB3n8dohLeCVbx9Fjnfx1NtxYYed-Q4ooK8YAk-w&" sPost &= "recaptcha_response_field=from+ductrop" For testing purposes im putting the recaptcha things in manually. Edit: paste screwy |
|||
Edited by sniperkid on 21.03.2011 20:20:37 | ||||
![]() |
|
|||
aceldama![]() ![]() ![]() ![]() |
i think you have my email address, as you are on my windows live list. if you need more help, email me and maybe we can get to the bottom of it. ![]() |
|||
![]() |
|