简体   繁体   中英

POST don't work

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&timestamp=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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM