How to use HttpWebRequest to send POST request to another web server?
来源:互联网 发布:淘宝 清关 身份证 编辑:程序博客网 时间:2024/05/21 15:34
In classic ASP applications we had the flexibility of having multiple form
tags on the same page and each form could have differenttarget URLs and differentmethod types. This has been kind of a limiting factor in ASP.Net applications. But this does not mean that it can not be accomplished. Micorosoft .Net framework has a very rich library and provides answers to most of the questions. It has a very handyHttpWebRequest
class that can be used to sendHTTP requests to any server.
Where do I need to use it?
Its is important to know where this feature is required. A very good example is if you are usingPaypalto accept payments for your e-commerce application. It requires that you set up your shopping cartbutton to submit aPOST request with all the required information. Following is an example fromPaypal's developer support web site.
<form name="_xclick" target="paypal"action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_cart"><input type="hidden" name="business" value="me@mybiz.com"><input type="hidden" name="item_name" value="HTML book"><input type="hidden" name="amount" value="24.99"><input type="image" src="http://www.paypal.com/images/sc-but-01.gif"border="0" name="submit" alt="Make payments with PayPal!"><input type="hidden" name="add" value="1"></form>
You can see that when you click on this button, a form will be submitted to paypal. The problem is that ASP.Net does not allow embedding of secondform
tag inside the mainform
.
How will I do it?
We will gather all the required information from the user on a regular ASPX page. And then when user clicksbutton to submitt information for shopping cart, then we will useHttpWebRequest
object tosubmit the request to target web server. The following illustrates how values from two text box controlsare sent to a target web server. This example does not correspond to the fields described in thePaypalexample.
private void OnPostInfoClick(object sender, System.EventArgs e){string strId = UserId_TextBox.Text;string strName = Name_TextBox.Text;ASCIIEncoding encoding=new ASCIIEncoding();string postData="userid="+strId;postData += ("&username="+strName);byte[] data = encoding.GetBytes(postData);// Prepare web request...HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://localhost/MyIdentity/Default.aspx");myRequest.Method = "POST";myRequest.ContentType="application/x-www-form-urlencoded";myRequest.ContentLength = data.Length;Stream newStream=myRequest.GetRequestStream();// Send the data.newStream.Write(data,0,data.Length);newStream.Close();}
If your server is capable of sending compressed response, read our article How to use Accept-Encoding HTTP Header for more details about it.
Another realted article about posting data to another web server and directing user to that site with it isis posted herePost Request To Another Web Site With Redirection.See alsoHow to use HttpWebRequest to simulate Hotmail Login?
comefrom:http://www.netomatix.com/httppostdata.aspx
- How to use HttpWebRequest to send POST request to another web server?
- How to use HttpWebRequest to send POST request to another web server?
- How to use HttpWebRequest to post data to another page which is on another server
- How to use HttpURLConnection POST data to web server?
- How to use HttpURLConnection POST data to web server?
- How to send HTTP request GET/POST in Java
- How to use the HttpWebRequest object
- How to use HttpWebRequest and RegularExpressions to crash website
- How to send HTTP request in java?
- How to send pull request on Git
- how to use UrlConnection to post/get request with basic authorization?
- how to send email
- How to use another indicator in your code?
- How to bounce Web server
- use c to send file using http post
- how to use command via proxy server
- How to enable Android dhcpcd send hostname request
- Use Http Post to call Web Service
- CSS+JS实现很不错的文本切换效果,可做公告栏
- 删除chrome添加应用程序快捷菜单
- python之创建线程
- VS2005联机调试问题Deployment and/or registration failed with error: 0x8973190e
- <备忘1004>编译Windows版本的VLC软件
- How to use HttpWebRequest to send POST request to another web server?
- EXT 3.x 使用详解之Ext.grid.GridPanel(三)
- JS 获取JSON数据简单调用
- 定时随机纹显示 公告栏
- Windows Phone 7 后退历史记录管理与起始页的程序块管理
- 12306.cn 购票系统的技术、产品设计缺陷浅析
- 打造成功电子商务网站的六大设计准则
- Linux下安装SVN
- 12306.cn 春运火车票“秒杀”购票心得