Solved

How to make an HTTP Post request from inside ASP .Net Page and also trasfer the page

Posted on 2003-11-19
11
4,933 Views
Last Modified: 2007-12-19
Hi,

I am stuck in a situation where I have to make a http web request to another website's web page(asp) from withing the ASP .Net application and also pass the control to that ASP page.

Means I want use HttpWebRequest classes and also want to do server.trasfer. but the final page should be able to get the values passed by using Request.form("values") .

Please guide me.

Thanks

Atul
0
Comment
Question by:digitaldaku
  • 5
  • 4
11 Comments
 
LVL 19

Expert Comment

by:cheekycj
Comment Utility
read:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaskdr/html/askgui10012002.asp
http://www.code101.com/Code101/DisplayArticle.aspx?cid=23
<%
     Dim strHTML ' for response
     Dim url ' url to post and redirect to
     url = "http://somedain.com/page1.asp"
     Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
     Call objHTTP.open("GET", url, False)
     Call objHTTP.send
     strHTML = objHTTP.responseText
     Set objHTTP = Nothing
     Response.redirect url
%>

HTH,
CJ
0
 

Author Comment

by:digitaldaku
Comment Utility
Many thanks for above code.

Using the above code, the receiving page will not able to use request.form("posted values from sending page") .

I want to create a http post and also redirect to the page....so that the receiving page can receive those values.

I cannot use get method since the data will be visible in the URL and is sensitive.

Please help !

Once again thanks

0
 
LVL 19

Expert Comment

by:cheekycj
Comment Utility
Adding postData is easy.. look at the URLs

Dim postData

postData = "field1=" & request.form("field1")
postData = postData & "&field2=" & request.form("field2")

Call objHTTP.open("POST", url, False)
Call objHTTP.send  "Content-Type", "application/x-www-form-urlencoded"
Call objHTTP.send postData

How is the data visible?

CJ
0
 

Author Comment

by:digitaldaku
Comment Utility
Thanks for your immediate response.

I am trying to run this....
What is your opinion?

objRequest = CType(WebRequest.Create("http://xyz/dmz/abc.asp"), HttpWebRequest)
            objRequest.Method = "POST"
            objRequest.ContentType = "application/x-www-form-urlencoded"
            objRequest.MaximumAutomaticRedirections = 1
            objRequest.AllowAutoRedirect = True

            'create message body
            encoding = New UTF8Encoding()
            arrRequest = encoding.GetBytes(UrlString.ToString)
            objRequest.ContentLength = arrRequest.Length
            strmRequest = objRequest.GetRequestStream()
            strmRequest.Write(arrRequest, 0, arrRequest.Length)
            strmRequest.Close()
0
 

Author Comment

by:digitaldaku
Comment Utility
Sorry missed the point..... The above request is not transferring the web page to asp page.

0
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

 
LVL 19

Expert Comment

by:cheekycj
Comment Utility
you are doing a post.

Where is the redirect?

CJ
0
 

Author Comment

by:digitaldaku
Comment Utility
Many thanks CJ you are the only hope for me to come out of this deep ocean of problem somehow I am stuck and feel like lost.

if I will do the redirect using response.redirect I lose all the values of the HTTP Post or should I do the redirect after execute the above code... I think that will be another request and I know I will lose all the POST values.

Please advice how should achieve the above goal..... I have to pass values from a .aspx page to a .asp page.

Once again thanks...

AB

0
 
LVL 19

Accepted Solution

by:
cheekycj earned 125 total points
Comment Utility
yes if you do a redirect you use all the post values.  Do you need them again?

Put your redirect after your above code so the flow will be, you post to the asp page and then it redirects after the post.

If you want to maintain the post values you may have to store them somewhere (cookies/url/session) to persist the values.

CJ
0
 

Author Comment

by:digitaldaku
Comment Utility
Many thanks.

After all those tries I have reverted back in using URL based get method.

Thanks for your efforts.

AB
0
 
LVL 21

Expert Comment

by:pinaldave
Comment Utility
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I will leave the following recommendation for this question in the Cleanup topic area:
    Accept: cheekycj {http:#9786828}

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

pinaldave
EE Cleanup Volunteer
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Foreword In the years since this article was written, numerous hacking attacks have targeted password-protected web sites.  The storage of client passwords has become a subject of much discussion, some of it useful and some of it misguided.  Of cou…
Any business that wants to seriously grow needs to keep the needs and desires of an international audience of their websites in mind. Making a website friendly to international users isn’t prohibitively expensive and can provide an incredible return…
This video teaches users how to migrate an existing Wordpress website to a new domain.
The viewer will learn how to dynamically set the form action using jQuery.

762 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

13 Experts available now in Live!

Get 1:1 Help Now