I have an api where in I can post some data n submit and then get whether posted data is valid or no. This api redirects to different urls indicating sucess/failure. For ths what I normally do is , within html tags call the destination url and submit the page:
<form method="post" action="https://web.tie.org/verify.php" name="main">
<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center" valign="top">
<tr>
<td class="normal"> </td><td class="normal"><input type='text' class='text' name='Email' value='x@hotmail.com' size='15' maxlength='35'></td>
</tr>
</table>
</form>
<script language='javascript'>
document.forms[0].submit();
</script>
Is there a way to post data directly through winforms c#. I want to be able to access the success/failure url after post and get the query string of the redirected site.
With Reference to enter link description here I have tried posting but I need the result query string.
Right now I can achieve this by:
webBrowser1.Url = new Uri("C:\\Documents and Settings\\Admin\\Desktop\\calltie.html");
webBrowser1.Show();
Absolutely, take a look at WebRequest, here is a full example
http://msdn.microsoft.com/en-us/library/debx8sh9.aspx
You can then do this kind of thing
UriBuilder uriBuilder = new UriBuilder(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uriBuilder.Uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytesToPost.Length;
using(Stream postStream = request.GetRequestStream())
{
postStream.Write(bytesToPost, 0, bytesToPost.Length);
postStream.Close();
}
HttpWebResponse response = (HttpWebResponse )request.GetResponse();
string url = response.ResponseUri
and the last line will give you the URL (success/fail) you are after
Yes , you can use WebClient class.
public static string PostMessageToURL(string url, string parameters)
{
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(url,"POST", parameters);
return HtmlResult;
}
}
Example:
PostMessageToURL("http://tempurl.org","query=param1&query2=param2");
I am currently working on it .. and this is running code try it..
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("www.linktoposton.php");
req.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(content);
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = byteArray.Length;
Stream dataStream = req.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
WebResponse response = req.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = HttpUtility.UrlDecode(reader.ReadToEnd());
reader.Close();
dataStream.Close();
response.Close();
Application.DoEvents(); // optional
Just change url in Httpwebrequest ("www.linktoposton.php" to the link you want to send)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.