未发送C#身份验证标头

时间:2018-08-22 17:56:50

标签: c# php dotnet-httpclient http-authentication

我刚刚学习了PHP,并且想从C#应用程序登录用户。我在PHP中搜索了身份验证,发现了基本的http身份验证,我认为这应该可行。这是一个私人项目,因此我对使用方法没有任何限制。如果还有其他事情可以做得更好,请告诉我。但是我无法在服务器端的标头中获得身份验证。该请求似乎没有包含它。我认为我缺少一些小愚蠢的东西。任何帮助表示赞赏。我写了这个简单的PHP文件(带有一些诊断输出):

<?php
print_r($_SERVER);
$headers =  apache_request_headers();
$headerString = "";
foreach($headers as $key=>$val){
  $headerString = $headerString. $key . ': ' . $val . ';';
}
echo "user:".$_SERVER["PHP_AUTH_USER"]." pw:".$_SERVER["PHP_AUTH_PW"]." query: ".$_SERVER["QUERY_STRING"]." headers: ".$headerString;
?>

现在,我尝试将GET请求发送到该php文件:

HttpClient client = new HttpClient
{
    BaseAddress = new Uri("https://www.lehrbaum.de")
};
string userNamePw = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("username:password"));
client.DefaultRequestHeaders.Authorization = 
    new AuthenticationHeaderValue("Basic", userNamePw);
client.GetAsync("one_night_comps/user/login.php").ContinueWith((t) =>
{
    t.Result.Content.ReadAsStringAsync().ContinueWith((t2) => Debug.WriteLine(t2.Result));
});

服务器的答案如下所示。它根本不包含身份验证数据。

Array
(
    [HTTP_HOST] => www.lehrbaum.de
    [REMOTE_ADDR] => 109.252.79.54
    [TZ] => MET
    [PHP_FCGI_MAX_REQUESTS] => 100
    [PHP_FCGI_CHILDREN] => 12
    [PHP_FCGI_STARTUP_REQUESTS] => 2
    [PHP_FCGI_CACHE] => 1
    [DOCUMENT_ROOT] => /home/strato/http/premium/rid/01/21/5810121/htdocs
    [SCRIPT_FILENAME] => /home/strato/http/premium/rid/01/21/5810121/htdocs/one_night_comps/user/login.php
    [PHPRC] => /home/strato/http/premium/rid/01/21/5810121/htdocs
    [PHP_FCGI_IDLE] => 1
    [SCRIPT_NAME] => /one_night_comps/user/login.php
    [REQUEST_URI] => /one_night_comps/user/login.php
    [QUERY_STRING] => 
    [REQUEST_METHOD] => GET
    [SERVER_PROTOCOL] => HTTP/1.1
    [GATEWAY_INTERFACE] => CGI/1.1
    [REMOTE_PORT] => 51798
    [SERVER_ADMIN] => service @webmailer.de
    [SERVER_PORT] => 443
    [SERVER_NAME] => www.lehrbaum.de
    [SERVER_SOFTWARE] => Apache/2.4.34 (Unix)
    [PATH] => /usr/bin:/bin
    [HTTP_CONNECTION] => close
    [RZ_php] => 72
    [HTTPS] => on
    [SCRIPT_URI] => https://www.lehrbaum.de/one_night_comps/user/login.php
    [SCRIPT_URL] => /one_night_comps/user/login.php
    [RZ_path] => web124/c1/21/5810121
    [RZ_a] => :Rproxy:Cpremium:quota= 153600MB:phpmin= 56:fcgi= 1:media:php= 72:crt= 2477882:tpl= strato - standard:
    [RZ_n] => 5810121
    [UNIQUE_ID] => W32eytSrKFQJElbAY8P @iwAAADs
    [FCGI_ROLE] => RESPONDER
    [PHP_SELF] => /one_night_comps/user/login.php
    [REQUEST_TIME_FLOAT] => 1534959306.5508
    [REQUEST_TIME] => 1534959306
    [argv] => Array
        (
        )

    [argc] => 0
)
user: pw: query:  headers: Connection: close<br> Host: www.lehrbaum.de<br>

0 个答案:

没有答案