|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
WEBREQUEST AND WEBRESPONSE PROBLEMweb page and take some values back and process them. This is codes in my target url. I should post "langpair" cariable to my target url and it will respond with a value depend on a value which i send. <SELECT name=langpair><OPTION value=en|de>English to German</OPTION><OPTION value=en|es>English to Spanish</OPTION> </select> I must use post method. I must give a value for select object and post it to my target url ? I heard about BeginGetRequestStream but i dont know how to do it ? Dim objURI As Uri = New Uri("http://www.isbuluyorum.com/translate") Dim objWebRequest As WebRequest = WebRequest.Create(objURI) objWebRequest.ContentType = "text/html; charset=utf-8" objWebRequest.Method = "POST" 'BEFORE to get response i should post variables to other web page ? Dim objWebResponse As WebResponse = objWebRequest.GetResponse() Dim objStream As Stream = objWebResponse.GetResponseStream() Dim objStreamReader As StreamReader = New StreamReader(objStream) Dim strHTML As String = objStreamReader.ReadToEnd Response.Write(Server.HtmlEncode(strHTML)) The body of an HTTP POST of form data is a set of URL-encoded name=value
pairs. For example, the body of the message you would want to send in this case would be something like: langpair=en%7Cde Note the "%7C" used for the "|" character. For the most part, you can use HttpUtility.UrlEncode to do the encoding of the string. However, many servers don't recognize "%20" as a space, so you would want to use "+" for spaces instead. You just write the string to the stream you receive from the GetResponseStream method. The following example is in C#. I trust you can do the translation: // ...code to initialize WebRequest and WebResponse... System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); System.IO.Stream requestStream = null; byte[] body; objWebRequest.Method = "POST"; objWebRequest.ContentType = "application/x-www-form-urlencoded"; objWebbody = encoding.GetBytes("langpair=en%7Cde"); objWebRequest.ContentLength = body.Length; requestStream = Request.GetRequestStream(); requestStream.Write(body, 0, body.Length); objWebResponse = (HttpWebResponse)Request.GetResponse(); -- Show quoteHide quoteHTH, Kevin Spencer Microsoft MVP ..Net Developer Who is Mighty Abbott? A twin turret scalawag. "Savas Ates" <in da club> wrote in message news:u7hfyAOIGHA.2668@tk2msftngp13.phx.gbl... >I have a vb.net web application. I want to post some variables to another > web page and take some values back and process them. > > > This is codes in my target url. I should post "langpair" cariable to my > target url and it will respond with a value depend on a value which i > send. > <SELECT name=langpair><OPTION > value=en|de>English to German</OPTION><OPTION > value=en|es>English to Spanish</OPTION> > </select> > > > > I must use post method. I must give a value for select object and post it > to > my target url ? I heard about BeginGetRequestStream but i dont know how > to > do it ? > > > Dim objURI As Uri = New Uri("http://www.isbuluyorum.com/translate") > Dim objWebRequest As WebRequest = WebRequest.Create(objURI) > objWebRequest.ContentType = "text/html; charset=utf-8" > objWebRequest.Method = "POST" > 'BEFORE to get response i should post variables to other web page ? > > > Dim objWebResponse As WebResponse = objWebRequest.GetResponse() > Dim objStream As Stream = objWebResponse.GetResponseStream() > Dim objStreamReader As StreamReader = New StreamReader(objStream) > Dim strHTML As String = objStreamReader.ReadToEnd > > Response.Write(Server.HtmlEncode(strHTML)) > > I wrote the code which is below. It seems ok but i have more variables to
send to my target web page ? <textarea name=text1> </textarea> <textarea name=text2> </textarea> how can i add all variables to send to my target page ? Dim encoding As New System.Text.ASCIIEncoding Dim requestStream As System.IO.Stream Dim objURI As Uri = New Uri(http://www.isbuluyorum.com) Dim objWebRequest As WebRequest = WebRequest.Create(objURI) objWebRequest.ContentType = "application/x-www-form-urlencoded" objWebRequest.Method = "POST" Dim body() As Byte body = encoding.GetBytes("langpair=en%7Cde") objWebRequest.ContentLength = body.Length requestStream = objWebRequest.GetRequestStream requestStream.Write(body, 0, body.Length) Dim objWebResponse As WebResponse = objWebRequest.GetResponse() Dim objStream As Stream = objWebResponse.GetResponseStream() Dim objStreamReader As StreamReader = New StreamReader(objStream) Dim strHTML As String = objStreamReader.ReadToEnd Response.Write(strHTML) Show quoteHide quote "Kevin Spencer" <kevin@DIESPAMMERSDIEtakempis.com> wrote in message news:#WisQvOIGHA.1288@TK2MSFTNGP09.phx.gbl... > The body of an HTTP POST of form data is a set of URL-encoded name=value > pairs. For example, the body of the message you would want to send in this > case would be something like: > > langpair=en%7Cde > > Note the "%7C" used for the "|" character. For the most part, you can use > HttpUtility.UrlEncode to do the encoding of the string. However, many > servers don't recognize "%20" as a space, so you would want to use "+" for > spaces instead. > > You just write the string to the stream you receive from the > GetResponseStream method. > > The following example is in C#. I trust you can do the translation: > > // ...code to initialize WebRequest and WebResponse... > > System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); > System.IO.Stream requestStream = null; > byte[] body; > > objWebRequest.Method = "POST"; > objWebRequest.ContentType = "application/x-www-form-urlencoded"; > objWebbody = encoding.GetBytes("langpair=en%7Cde"); > objWebRequest.ContentLength = body.Length; > requestStream = Request.GetRequestStream(); > requestStream.Write(body, 0, body.Length); > objWebResponse = (HttpWebResponse)Request.GetResponse(); > > -- > HTH, > > Kevin Spencer > Microsoft MVP > .Net Developer > Who is Mighty Abbott? > A twin turret scalawag. > > "Savas Ates" <in da club> wrote in message > news:u7hfyAOIGHA.2668@tk2msftngp13.phx.gbl... > >I have a vb.net web application. I want to post some variables to another > > web page and take some values back and process them. > > > > > > This is codes in my target url. I should post "langpair" cariable to my > > target url and it will respond with a value depend on a value which i > > send. > > <SELECT name=langpair><OPTION > > value=en|de>English to German</OPTION><OPTION > > value=en|es>English to Spanish</OPTION> > > </select> > > > > > > > > I must use post method. I must give a value for select object and post it > > to > > my target url ? I heard about BeginGetRequestStream but i dont know how > > to > > do it ? > > > > > > Dim objURI As Uri = New Uri("http://www.isbuluyorum.com/translate") > > Dim objWebRequest As WebRequest = WebRequest.Create(objURI) > > objWebRequest.ContentType = "text/html; charset=utf-8" > > objWebRequest.Method = "POST" > > 'BEFORE to get response i should post variables to other web page ? > > > > > > Dim objWebResponse As WebResponse = objWebRequest.GetResponse() > > Dim objStream As Stream = objWebResponse.GetResponseStream() > > Dim objStreamReader As StreamReader = New StreamReader(objStream) > > Dim strHTML As String = objStreamReader.ReadToEnd > > > > Response.Write(Server.HtmlEncode(strHTML)) > > > > > > Ah yes. It works just like a QueryString. Each name=value pair is separated
by the "&" character, as in: text1=blah+blah+blah&text2=blah+blah+blah -- Show quoteHide quoteHTH, Kevin Spencer Microsoft MVP ..Net Developer Who is Mighty Abbott? A twin turret scalawag. "Savas Ates" <in da club> wrote in message news:%23odseEPIGHA.604@TK2MSFTNGP14.phx.gbl... >I wrote the code which is below. It seems ok but i have more variables to > send to my target web page ? > <textarea name=text1> </textarea> > <textarea name=text2> </textarea> > > how can i add all variables to send to my target page ? > > > > > > > > > Dim encoding As New System.Text.ASCIIEncoding > > Dim requestStream As System.IO.Stream > > > > Dim objURI As Uri = New Uri(http://www.isbuluyorum.com) > > Dim objWebRequest As WebRequest = WebRequest.Create(objURI) > > objWebRequest.ContentType = "application/x-www-form-urlencoded" > > objWebRequest.Method = "POST" > > Dim body() As Byte > > body = encoding.GetBytes("langpair=en%7Cde") > > objWebRequest.ContentLength = body.Length > > requestStream = objWebRequest.GetRequestStream > > requestStream.Write(body, 0, body.Length) > > > > Dim objWebResponse As WebResponse = objWebRequest.GetResponse() > > Dim objStream As Stream = objWebResponse.GetResponseStream() > > Dim objStreamReader As StreamReader = New StreamReader(objStream) > > Dim strHTML As String = objStreamReader.ReadToEnd > > Response.Write(strHTML) > > > > > > > > > > > > "Kevin Spencer" <kevin@DIESPAMMERSDIEtakempis.com> wrote in message > news:#WisQvOIGHA.1288@TK2MSFTNGP09.phx.gbl... >> The body of an HTTP POST of form data is a set of URL-encoded name=value >> pairs. For example, the body of the message you would want to send in >> this >> case would be something like: >> >> langpair=en%7Cde >> >> Note the "%7C" used for the "|" character. For the most part, you can use >> HttpUtility.UrlEncode to do the encoding of the string. However, many >> servers don't recognize "%20" as a space, so you would want to use "+" >> for >> spaces instead. >> >> You just write the string to the stream you receive from the >> GetResponseStream method. >> >> The following example is in C#. I trust you can do the translation: >> >> // ...code to initialize WebRequest and WebResponse... >> >> System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); >> System.IO.Stream requestStream = null; >> byte[] body; >> >> objWebRequest.Method = "POST"; >> objWebRequest.ContentType = "application/x-www-form-urlencoded"; >> objWebbody = encoding.GetBytes("langpair=en%7Cde"); >> objWebRequest.ContentLength = body.Length; >> requestStream = Request.GetRequestStream(); >> requestStream.Write(body, 0, body.Length); >> objWebResponse = (HttpWebResponse)Request.GetResponse(); >> >> -- >> HTH, >> >> Kevin Spencer >> Microsoft MVP >> .Net Developer >> Who is Mighty Abbott? >> A twin turret scalawag. >> >> "Savas Ates" <in da club> wrote in message >> news:u7hfyAOIGHA.2668@tk2msftngp13.phx.gbl... >> >I have a vb.net web application. I want to post some variables to >> >another >> > web page and take some values back and process them. >> > >> > >> > This is codes in my target url. I should post "langpair" cariable to >> > my >> > target url and it will respond with a value depend on a value which i >> > send. >> > <SELECT name=langpair><OPTION >> > value=en|de>English to German</OPTION><OPTION >> > value=en|es>English to Spanish</OPTION> >> > </select> >> > >> > >> > >> > I must use post method. I must give a value for select object and post > it >> > to >> > my target url ? I heard about BeginGetRequestStream but i dont know >> > how >> > to >> > do it ? >> > >> > >> > Dim objURI As Uri = New Uri("http://www.isbuluyorum.com/translate") >> > Dim objWebRequest As WebRequest = WebRequest.Create(objURI) >> > objWebRequest.ContentType = "text/html; charset=utf-8" >> > objWebRequest.Method = "POST" >> > 'BEFORE to get response i should post variables to other web >> > page > ? >> > >> > >> > Dim objWebResponse As WebResponse = objWebRequest.GetResponse() >> > Dim objStream As Stream = objWebResponse.GetResponseStream() >> > Dim objStreamReader As StreamReader = New >> > StreamReader(objStream) >> > Dim strHTML As String = objStreamReader.ReadToEnd >> > >> > Response.Write(Server.HtmlEncode(strHTML)) >> > >> > >> >> > > thanks ;)
Show quoteHide quote "Savas Ates" <in da club> wrote in message news:u7hfyAOIGHA.2668@tk2msftngp13.phx.gbl... > I have a vb.net web application. I want to post some variables to another > web page and take some values back and process them. > > > This is codes in my target url. I should post "langpair" cariable to my > target url and it will respond with a value depend on a value which i send. > <SELECT name=langpair><OPTION > value=en|de>English to German</OPTION><OPTION > value=en|es>English to Spanish</OPTION> > </select> > > > > I must use post method. I must give a value for select object and post it to > my target url ? I heard about BeginGetRequestStream but i dont know how to > do it ? > > > Dim objURI As Uri = New Uri("http://www.isbuluyorum.com/translate") > Dim objWebRequest As WebRequest = WebRequest.Create(objURI) > objWebRequest.ContentType = "text/html; charset=utf-8" > objWebRequest.Method = "POST" > 'BEFORE to get response i should post variables to other web page ? > > > Dim objWebResponse As WebResponse = objWebRequest.GetResponse() > Dim objStream As Stream = objWebResponse.GetResponseStream() > Dim objStreamReader As StreamReader = New StreamReader(objStream) > Dim strHTML As String = objStreamReader.ReadToEnd > > Response.Write(Server.HtmlEncode(strHTML)) > >
UGH, Framework goes just so far AGAIN!
forms collection? Help with truncating VS2005 - How do you... URGENT: Problem when iterating through a custom collection (dictionary based) with FOR...EACH GUI Design Question I can't figure out how to solve this problem. pull individual data element from a datasource? how to? Problem when iterating through custom dictionary based collection with FOR...EACH...NEXT Process output redirection? |
|||||||||||||||||||||||