using C# to post XML to an https service (non-SOAP) RSS
2012-05-07 14:53
483 查看
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net;
using System.Xml;
using System.Text;
using System.IO;
public partial class PostXml : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
HttpWebResponse resp;
string targetUrl;
targetUrl = "https://stg1-ss1.experian.com/netconnect2_0Demo/servlets/NetConnectServlet";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetUrl);
Response.Write("Connecting to URL: " + targetUrl + "<br>");
// read input XML from file
StringBuilder sb = new StringBuilder();
//String inputXml;
using (StreamReader inputQueryReader = new StreamReader("C:\\1.xml"))
{
sb.Append(inputQueryReader.ReadToEnd());
}
Response.Write("input xml value:" + sb.ToString() + "<br>");
// encode post data and set up the request NOTE: input xml is passed a a parameter named NETCONNECT_TRANSACTION'
sb.Append("&NETCONNECT_TRANSACTION=" + sb.ToString());
String postData = sb.ToString();
Response.Write("postData: " + postData);
byte[] AuthBytes = Encoding.ASCII.GetBytes("aa:aa");
string sAuth = Convert.ToBase64String(AuthBytes);
request.Headers.Add("Authorization", "Basic " + sAuth);
NetworkCredential cred = new NetworkCredential("aa", "aa");
byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
request.Credentials = cred;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postDataBytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postDataBytes, 0, postDataBytes.Length);
requestStream.Close();
// get response and write to console
resp = (HttpWebResponse)request.GetResponse(); // THROWS AN EXCEPTION RIGHT HERE
Response.Write("Got a response from the Target URL, response:<br>");
StreamReader responseReader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
Response.Write(responseReader.ReadToEnd());
resp.Close();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
}
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net;
using System.Xml;
using System.Text;
using System.IO;
public partial class PostXml : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
HttpWebResponse resp;
string targetUrl;
targetUrl = "https://stg1-ss1.experian.com/netconnect2_0Demo/servlets/NetConnectServlet";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetUrl);
Response.Write("Connecting to URL: " + targetUrl + "<br>");
// read input XML from file
StringBuilder sb = new StringBuilder();
//String inputXml;
using (StreamReader inputQueryReader = new StreamReader("C:\\1.xml"))
{
sb.Append(inputQueryReader.ReadToEnd());
}
Response.Write("input xml value:" + sb.ToString() + "<br>");
// encode post data and set up the request NOTE: input xml is passed a a parameter named NETCONNECT_TRANSACTION'
sb.Append("&NETCONNECT_TRANSACTION=" + sb.ToString());
String postData = sb.ToString();
Response.Write("postData: " + postData);
byte[] AuthBytes = Encoding.ASCII.GetBytes("aa:aa");
string sAuth = Convert.ToBase64String(AuthBytes);
request.Headers.Add("Authorization", "Basic " + sAuth);
NetworkCredential cred = new NetworkCredential("aa", "aa");
byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
request.Credentials = cred;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postDataBytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postDataBytes, 0, postDataBytes.Length);
requestStream.Close();
// get response and write to console
resp = (HttpWebResponse)request.GetResponse(); // THROWS AN EXCEPTION RIGHT HERE
Response.Write("Got a response from the Target URL, response:<br>");
StreamReader responseReader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
Response.Write(responseReader.ReadToEnd());
resp.Close();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
}
相关文章推荐
- C# to POST HTTP with XML
- consume an asp.net webservice(upload a file to server) from java via soap
- How to write to an event log by using Visual C#
- How To Create An ASM Diskgroup Using XML code Thru ASMCMD?
- C#开发XML WebService接口(SOAP)
- csharp:Learn how to post JSON string to generic Handler using jQuery in ASP.Net C#.
- An easy way to syncTime using C#
- How to generate an RSS feed for your web site using ASP.NET
- (转载)Net 下采用GET/POST/SOAP方式动态调用WebService C#实现
- Serialization from an Object to XML Document in C#
- Preparing for Application and Service Deployment-Adding an HTTPS Endpoint to a Windows Azure Cloud
- How to generate an RSS feed for your web site using ASP.NET
- An Extensive Examination of LINQ: Querying and Searching XML Documents Using LINQ to XML
- How to create an XTR file from XML in Delphi XE4 using XML Mapper?(delphi中如何通过xmlmapper创建xtr文件)
- How To Generate An XML File As A Target Datastore Using ODI In An Integration Interface ? [ID 454268
- How to Configure an SSIS Package to Access a Web Service using WCF
- An Introduction to Programming Using Microsoft Visual C# 2005 Express Edition
- How to Set Directory Permissions at Install Time using an MSI Created Using Windows Installer XML (WIX)
- log4j的1.2.15版本,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:jar:1.1 from https://maven-repository.dev.java.net/nonav/repository......
- Net 下采用GET/POST/SOAP方式动态调用WebService C#实现