all! I have php page like this:
<?php
if(isset($_POST['userid']) and isset($_POST['dlspeed']) )
{
$userid=$_POST['userid'];
$dlspeed=$_POST['dlspeed'];
$timestamp =date("y-m-d H:i");
$db_conn = mysql_connect('localhost', "root", "asdk78623r");
mysql_select_db("speedtest", $db_conn);
$query='INSERT INTO status VALUE (NULL, "'.$userid.'", "'.$dlspeed.'", "'.$timestamp.'")';
$result=mysql_query($query,$db_conn);
}
?
And from C# I do post:
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(pageurl);
byte[] buffer = Encoding.ASCII.GetBytes(data);
System.Net.ServicePointManager.Expect100Continue = false;
WebReq.SendChunked = false;
WebReq.Expect = null;
WebReq.KeepAlive = false;
//I try also setting proxy
// WebReq.Proxy = new WebProxy("192.168.0.107", 3128);
//Our method is post, otherwise the buffer (postvars) would be useless
WebReq.Method = "POST";
//We use form contentType, for the postvars.
WebReq.ContentType = "application/x-www-form-urlencoded";
//The length of the buffer (postvars) is used as contentlength.
WebReq.ContentLength = buffer.Length;
//We open a stream for writing the postvars
Stream PostData = WebReq.GetRequestStream();
//Now we write, and afterwards, we close. Closing is always important!
PostData.Write(buffer, 0, buffer.Length);
PostData.Close();
//posted data is not inserted in db
//and in follow line code Ive got error: The remote server returned an error: (417) //Expectation failed
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
What I do wrong? With follow curl command post works fine:
curl -d "userid=SW783IC2QDHFYU6P4XKO&dlspeed=814,602968463903×tamp=2012-2-23 19:29:33" pageurl
Any idea, suggestions, reconsiderations?
There's multiple options why this may happen.
http://www.checkupdown.com/status/E417.html
One of the reasons may be: http://haacked.com/archive/2004/05/15/http-web-request-expect-100-continue.aspx
install a program that logs your requests and what they contain (fiddler2 works great is free and easy to use, there are several very similar but can't remember their names atm)
try to see if you find any headers that shouldn't be there, and if you can't for your life figure it out someone here might help you once you post that.
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.