Я пишу тестовый тест для перенаправления script.
Я хочу, чтобы моя программа запрашивала определенный URL-адрес, перенаправляемый в AppStore. Но я не хочу загружать страницу AppStore. Я просто хочу зарегистрировать URL-адрес перенаправления или ошибку.
Как мне сказать Перейти к URL запроса без второго запроса переадресации?
UPDATE
Оба ответа верны. НО:
Я попробовал оба решения. Я занимаюсь бенчмаркингом. Я запускаю 1 или много ходовых процессов с 10 - 500 ходами. Они запрашивают URL в цикле. Мой сервер также написан в go. Он сообщает количество запросов каждую секунду.
- Первое решение:
http.DefaultTransport.RoundTrip
- работает медленно, дает ошибки. Первые 4 секунды отлично работают. Выполняя 300-500 запросов, производительность снижается до 80 запросов в секунду.
Затем снижается до 0-5 запросов в секунду, а запросы script начинают получать ошибки, например
dial tcp IP:80: A connection attempt failed because the connected
party did not properly respond after a period of time, or established
connection failed because connected host has failed to respond.
Я предполагаю, что он снова использует закрытое соединение.
- Второе решение:
CheckRedirect field
работает с постоянной производительностью. Я не уверен, что он повторно использует подключения или открывает новое соединение для каждого запроса. Я создаюclient
для каждого запроса в цикле. Так будет вести себя в реальной жизни (каждый запрос - это новое соединение). Есть ли способ убедиться, что соединения закрыты после каждого запроса и не используются повторно?
Вот почему я собираюсь отметить второе решение как таковое, чтобы ответить на мой вопрос. Но для моих исследований очень важно, чтобы каждый запрос был новым соединением. Как я могу обеспечить со вторым решением?