Я пытаюсь выследить, почему запрос POST из сценария C# не работает, когда тот же запрос отлично работает в Python. Я хочу, чтобы все данные, отправленные сценарием, и ответ от sever, отображались на экране, чтобы я мог разобраться, какая разница между тем, что отправляют сценарии C# и Python.Отображение всех HTTP-данных, отправленных на C# с использованием HttpWebRequest
В Python, я могу сделать это с помощью стандартной библиотеки httplib2 только с помощью:
httplib2.debuglevel = 1
Это дает следующий результат (в качестве примера):
reply: 'HTTP/1.1 201 Created\r\n'
header: Date: Tue, 05 Oct 2010 09:25:42 GMT
header: Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch
header: X-Powered-By: PHP/5.2.6-1+lenny9
header: Location: http://example.org/api/2
header: Content-Length: 0
header: Content-Type: text/html
send: 'GET /api/2 HTTP/1.1\r\nHost: example.org\r\naccept-encoding: gzip, deflate\r\nuser-agent: Python-httplib2/$Rev$\r\n\r\n'
Есть ли способ, чтобы произвести аналогичный вывод в C# с использованием класса HttpWebRequest?
Я видел упоминание о Fiddler в другом вопросе, но я использую Linux, а Fiddler - только для Windows.
Я попытался включить трассировку, вы можете сделать это в Mono, используя #define TRACE в исходном файле и запустив исполняемый файл с помощью --trace. Единственная проблема заключается в том, что это показывает мне каждый вызов функции, в то время как я действительно хочу видеть HTTP-запрос/ответ (в обычном тексте, как если бы я построил их вручную). – pwaring
Вам понадобится «Verbose». Не уверен, как это сделать в Mono. – Aliostad