Nano Hash - криптовалюты, майнинг, программирование

HttpWebRequest не отправляет UserAgent

Я новичок в изучении всей веб-стороны .net и столкнулся с небольшой проблемой.

Я пытаюсь сделать HttpWebRequest, как показано ниже:

String uri = "https://skyid.sky.com/signup/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
request.Method = "GET";
request.GetResponse();

Где uri указывает на сайт HTTPS. Но как только я смотрю на это в Fiddler, он удаляет мой UserAgent и показывает только Host и Connection: Keep-Alive.

CONNECT skyid.sky.com:443 HTTP/1.1
Host: skyid.sky.com
Connection: Keep-Alive

Это нормально для HTTPS или я просто что-то упускаю? Может быть, я даже что-то упускаю в Fiddler, что он мне этого не показывает.

Любая помощь будет оценена, спасибо всем!

14.08.2012

  • Если я запускаю это (конечно, со значением для uri), я вижу пользовательский агент в скрипаче как с HTTP, так и с HTTPS. Вы, по-видимому, вырезали что-то для своего примера здесь, поскольку размещение пустого контента необычно. Не могли бы вы вырезать что-то, где вы перезаписали коллекцию заголовков после установки этого заголовка? 14.08.2012
  • @JonHanna, извините, я на самом деле делаю GET, я изменил это в приведенном выше коде и добавил некоторые подробности. Итак, я предполагаю, что это Fiddler, если вы видите UserAgent. 14.08.2012
  • Вы подключаетесь через HTTPS (443), поэтому все, что вы видите здесь, — это HTTP-глагол CONNECT (который предназначен для инициирования HTTPS-соединений). Фактически запрошенный GET будет зашифрован при отправке на сервер. Чтобы увидеть это в Fiddler, есть расширенный параметр, который поможет вам расшифровать зашифрованные соединения для просмотра фактических запросов. 14.08.2012
  • О да. @DanielJoseph может получить это. Предполагалось, что у вас была опция fiddler, установленная для HTTPS посредника, чтобы вы могли видеть CONNECT и GET, но если вы этого не сделаете, вы его не увидите (точка HTTPS состоит в том, чтобы остановить люди видят вещи, в конце концов). 14.08.2012

Ответы:


1

Я не думаю, что вы смотрите на правильную строку Fiddler. Вы показали глагол CONNECT, а не GET. UserAgent следует правильно установить с помощью свойства request.UserAgent. Другой способ отладки запроса — настроить трассировку сети на уровне вашего приложения. который я лично предпочитаю по сравнению с Fiddler:

<configuration>
    <system.diagnostics>
        <sources>
            <source name="System.Net" tracemode="protocolonly" maxdatasize="1024">
                <listeners>
                    <add name="System.Net"/>
                </listeners>
            </source>
        </sources>
        <switches>
            <add name="System.Net" value="Verbose"/>
        </switches>
        <sharedListeners>
            <add 
                name="System.Net"
                type="System.Diagnostics.TextWriterTraceListener"
                initializeData="network.log"
            />
        </sharedListeners>
        <trace autoflush="true"/>
    </system.diagnostics>
</configuration>
14.08.2012
  • Это действительно для ASMX веб-службы? Я использую Client (прокси WebService ASMX Reference, а не WCF Service REference) для вызова службы ASMX. 01.11.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..