2016-05-22 63 views
1

睡眠不足,并在我的代码凝视的时间让我放弃在HttpClient的POST生成GET而不是

这里是我的问题:

我想我的C#窗体应用程序中发送POST请求,检索结果。

一切正常,除了传输POST体:不是我的内容,要求变成了空,因为我发现只有长期以后,用GETREQUEST_METHOD代替。

服务器端不应该是问题,当我通过网页表单(HTML)发送请求时,一切正常。

C#:

async Task<string> reqres(string name, string logs) 
{ 
    using (var client = new HttpClient()) 
    { 
     string handler = settings.handler; // php script on server 

     var values = new Dictionary<string, string>(); 
     values.Add("name", name); 
     values.Add("logs", logs); 

     var response = await client.PostAsync(hand, new FormUrlEncodedContent(values)); 
     var contents = response.Content.ReadAsStringAsync().Result; 
     return contents; 
    } 
} 

我总是从我的服务器的响应,但服务器总是说被赋予了GET请求。

这里是我的服务器输出:

PHP:

Array 
    (
     [CONTENT_TYPE] => application/x-www-form-urlencoded 
     [DOCUMENT_ROOT] => /path/account/example.com/index 
     [GATEWAY_INTERFACE] => CGI/1.1 
     [HTTP_CONNECTION] => Keep-Alive 
     [HTTP_HOST] => www.example.com 
     [PATH] => /bin 
     [PHPRC] => /etc/php5.3/cgi/example.com 
     [QUERY_STRING] => 
     [REDIRECT_STATUS] => 200 
     [REMOTE_ADDR] => xx.xxx.xx.xxx 
     [REMOTE_PORT] => 60149 
     [REQUEST_METHOD] => GET 
     [REQUEST_URI] => /path/script.php 
     [SCRIPT_FILENAME] => /path/account/directory/index/path/script.php 
     [SCRIPT_NAME] => /path/script.php 
     [SERVER_ADDR] => xxx.x.xxx.xxx 
     [SERVER_ADMIN] => [email protected] 
     [SERVER_NAME] => www.example.com 
     [SERVER_PORT] => 80 
     [SERVER_PROTOCOL] => HTTP/1.1 
     [SERVER_SIGNATURE] => Apache/2.2.22 Server at www.example.com Port 80

[SERVER_SOFTWARE] => Apache/2.2.22 [PHP_SELF] => /path/script.php [REQUEST_TIME] => 1463912396 ) </pre><br /> Nope. // result of $_POST query Array // print_r($_POST); ( )

谁能告诉我,什么是错的?什么打击你的眼睛?什么可能是这个问题的根源?

+0

听起来像有可能在那里发生重定向。 –

+0

@JonStirling它说200,这是不是意味着目的地没有碰到? –

+0

不,在它遇到200页之前,仍然会有301/302等等发生。 –

回答

1

AAAAAAAARGH!诅咒!

WAS重定向毕竟...

我让200(OK)诱骗我到别处找......好心JonStirling让我知道,有可能仍然是重定向发生之前。

而且,当我确定我没有重定向!www。 - > www,它用作POST。

呃......我真的觉得在这种情况下图层实施得不好