Convert HttpWebRequest To String

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by need_million, 9 Aug 2010.

  1. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    Нужно перевести HttpWebRequest в строку или Raw(ну это одно и тоже)

    просто мне нужно передать запрос текстом через soket.

    почти все хорошо, но вот с куками не получается.

    loHttp.CookieContainer.GetCookies(loHttp.RequestUri).Count всегда нуль.

    хотя loHttp.CookieContainer.count = 4

    как решить проблему.



    Code:
            private string ConvertHttpWebRequestToString(HttpWebRequest loHttp)
            {
                string format = "";
                format += loHttp.Method.ToString() + " / HTTP/" + loHttp.ProtocolVersion.ToString() + Environment.NewLine;
                format += "Host: " + loHttp.RequestUri.Host + Environment.NewLine;
                for (int i = 0; i < loHttp.Headers.AllKeys.Length; i++ )
                    format += loHttp.Headers.AllKeys[i] + ": " + loHttp.Headers[loHttp.Headers.AllKeys[i]] + Environment.NewLine;
                if (loHttp.KeepAlive == true)
                {
                    format += "Keep-Alive: 115" + Environment.NewLine;
                    format += "Connection: keep-alive" + Environment.NewLine;
                }
    [COLOR=Green]       if (loHttp.CookieContainer.GetCookies(loHttp.RequestUri).Count > 0)
                {
                    format += loHttp.CookieContainer.GetCookieHeader(loHttp.RequestUri);
                }[/COLOR]
                return format;
            }
     
  2. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Скорей всего трабла в точке впереди домена у необходимых плюшек и поэтому они не возвращаются по урлу loHttp.RequestUri (есть такой древний баг с CookieContainer), поставь бряк на
    if (loHttp.CookieContainer.GetCookies(loHttp.RequestU ri).Count > 0)

    и смотри в отладчике если впереди домена есть точка то можно например поступить так:
    или те 4 плюшки вообще не к этому домену.

    Не, это не одно и тоже.
     
    #2 PaCo, 10 Aug 2010
    Last edited: 10 Aug 2010
    1 person likes this.
  3. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    1. да помогло, спасибо.

    2. можешь объяснить в ем разница?
     
    #3 need_million, 10 Aug 2010
    Last edited: 11 Aug 2010