Solved

Is it possible Http POST with response and listener

Posted on 2013-06-20
10
254 Views
Last Modified: 2013-06-24
Is it possible to do an HTTP post by

set a HttpWebRequest

post some xml as paramaters

set the httpwebresponse


start a httplistener

And then funnel the httpwebresponse through the listener and output insode the listener??
0
Comment
Question by:lrbrister
10 Comments
 
LVL 74

Expert Comment

by:käµfm³d 👽
ID: 39263324
What is your business goal?
0
 

Author Comment

by:lrbrister
ID: 39263354
kaufmed,
 I've been going after this problem from many different angles and just can't figure it out

Basically...
I do an HTTPWebRequest POST

Once that happens, the site I'm posting to will send back xml in full "sets"
ANything from 1 second to 30 seconds apart
It's an ongoing continuous stream of data

I need to handle that "ResponseStream???" without my connection being closed after the first full XML set comes back

This process will need to be started each morning and run 12 hours
And then shut down
0
 

Author Comment

by:lrbrister
ID: 39266998
So...
I think the proper way to clarify my question is that I need to open a connection with an HTTP Request
and receive an unknown (and potentially unbounded) amount of data in the response.

What should I do that with?

TCP Connection?
HttpWebrequest and Response
HttpListener?
0
 
LVL 10

Expert Comment

by:Monica P
ID: 39267738
As far i understood ., i am posting this response

In case if you want to read the posted parameters in a form then
you can do as below

 
  For Each s As String In Request.Form.AllKeys
                        strTest = strTest & s & " : " & Request.Form(s)
                    Next

Open in new window


strtest will contain all posted parameter values

you can also fetch the values using
request.form("Paramtername")
0
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 335 total points
ID: 39268701
I have not tried this but set the KeepAlive property of request to true and then use a loop to call Read method on your response stream. This method blocks until there is data available to read.
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:lrbrister
ID: 39269304
CodeCruiser
That sounds right
Do you have an example?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 39269768
No. Do you have code which you use to POST and get initial response?
0
 

Author Comment

by:lrbrister
ID: 39269872
CodeCruiser
I'll post that first thing in the morning
Traveling today
0
 

Author Comment

by:lrbrister
ID: 39271149
CodeCruiser,

Here is the POST code that I've been using

Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(stUrl), HttpWebRequest)

myHttpWebRequest.SendChunked = True
Dim postData As String = strParamsPost
'Debug.WriteLine(postData)

myHttpWebRequest.Method = "POST"

myHttpWebRequest.ContentType = "text/plain"
myHttpWebRequest.KeepAlive = True
myHttpWebRequest.UserAgent = "CometTest"

Dim encodedData As New ASCIIEncoding()
Dim byteArray As Byte() = encodedData.GetBytes(postData)
myHttpWebRequest.ContentLength = byteArray.Length

Dim newStream As Stream = myHttpWebRequest.GetRequestStream()
newStream.Write(byteArray, 0, byteArray.Length)
newStream.Close()

Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)

Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()

Open in new window

0
 

Author Closing Comment

by:lrbrister
ID: 39271357
That did it across the board.
Thanks
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

After several hours of googling I could not gather any information on this topic. There are several ways of controlling the USB port connected to any storage device. The best example of that is by changing the registry value of "HKEY_LOCAL_MACHINE\S…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This video discusses moving either the default database or any database to a new volume.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now