Как я могу увидеть, какую информацию отправляет мой (реализованный в c #) POST? - PullRequest
1 голос
/ 19 августа 2009

Это код, который я использую (кстати, взятый из другого онлайн-источника):

            string uri = "http://www.blah.com";
            // Create my request
            HttpWebRequest hwrOrdersIDCallback = (HttpWebRequest)WebRequest.Create(uri);
            hwrOrdersIDCallback.KeepAlive = false;
            hwrOrdersIDCallback.ProtocolVersion = HttpVersion.Version10;
            hwrOrdersIDCallback.Method = "POST";

            // Turn the req string into a byte stream
            byte[] postBytes = Encoding.ASCII.GetBytes(sbOrderIDsLine.ToString());

            // Set content type and stream length
            hwrOrdersIDCallback.ContentType = "application/x-www-form-urlencoded";
            hwrOrdersIDCallback.ContentLength = postBytes.Length;                

            Stream requestStream = hwrOrdersIDCallback.GetRequestStream();

            // Send the POST
            requestStream.Write(postBytes, 0, postBytes.Length);
            requestStream.Close();

            // Grab the response and display it in a label
            HttpWebResponse hwrOrdersIDResponse = (HttpWebResponse)hwrOrdersIDCallback.GetResponse();
            label1.Text = (new StreamReader(hwrOrdersIDResponse.GetResponseStream()).ReadToEnd());

Я должен получить определенные данные обратно с сервера, если POST был успешно завершен. Я НЕ получаю эти данные, и я хотел знать, есть ли способ увидеть информацию, которая отправляется на сервер с помощью этого POST.

Ответы [ 4 ]

5 голосов
/ 19 августа 2009

Вам абсолютно необходимо проводить программные исследования?

Самый простой способ узнать, что происходит, это использовать Fiddler или WireShark .

1 голос
/ 19 августа 2009

Fiddler2 - отличный инструмент для отладки трафика для вызовов ajax / service. Он отслеживает трафик, и вы можете просмотреть детали звонков и посмотреть, какие данные размещены и возвращены.

0 голосов
/ 19 августа 2009

Создайте файл с именем <ваш exe> .config в каталоге приложения и поместите его в него:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <system.diagnostics>
        <trace autoflush="true" />
        <sources>
            <source name="System.Net">
                <listeners>
                    <add name="System.Net"/>
                            </listeners>
            </source>
            <source name="System.Net.Sockets">
                <listeners>
                    <add name="System.Net"/>
                </listeners>
            </source>
        </sources>
        <sharedListeners>
                    <add name="System.Net"
                             type="System.Diagnostics.TextWriterTraceListener"
                             initializeData="System.Net.trace.log"/>
        </sharedListeners>
        <switches>
            <add name="System.Net" value="Verbose" />
            <add name="System.Net.Sockets" value="Verbose" />               
        </switches>
    </system.diagnostics>
</configuration>

или используйте WireShark , как предлагали другие. Метод трассировки проще в настройке, но труднее для чтения.

0 голосов
/ 19 августа 2009

Использовать Скрипач .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...