Patel Shailendra Ответов: 1

Войдите на сайт с помощью приложения windows и загрузите вложение с сайта


Привет,

У меня есть проблема с входом на сайт из приложения windows. После входа на сайт необходимо скачать вложение заказов с сайта.

Что я уже пробовал:

Я попытался просмотреть ссылку, но не смог передать имя пользователя и пароль на сайт, чтобы войти на сайт и прочитать код сайта.

Richard MacCutchan

Может быть, они не хотят, чтобы вы вошли в систему и украли их информацию.

Patel Shailendra

Мы выполняем их работу по вводу данных в тех случаях, когда у нас есть регистрационные данные для веб-сайта. Мы хотим загружать вложения автоматически, а не вручную.

Richard MacCutchan

Ну, вам нужно предоставить гораздо больше информации, если вы хотите получить помощь в этом вопросе. Веб-скребок не слишком сложен, но вы должны имитировать реального пользователя, вводящего детали. Может быть, поиск в Google для веб-скребка даст вам какой-нибудь полезный пример кода.

Afzaal Ahmad Zeeshan

Есть ли у них API, который вы будете использовать?

Patel Shailendra

Нет, мы не хотим сообщать клиенту, что используем какую-то автоматизированную работу.

Afzaal Ahmad Zeeshan

Мы хотим загружать вложения автоматически, а не вручную.

Тогда как же в приложении Windows вы это делаете? Вы должны использовать какой-то метод HTTP-связи.

Patel Shailendra

Да, в настоящее время мы этого не делаем, мы пытаемся автоматически загружать файлы, используя регистрационные данные веб-сайта из оконного приложения, и загружать соответствующее вложение с веб-сайта, просто передавая jobid в качестве параметра на ссылку веб-сайта.

Мы можем получить доступ к этой ссылке только после входа в систему. Без входа в систему мы не можем просматривать эту страницу. Когда мы пытаемся непосредственно просмотреть ссылку на веб-сайт, мы получаем html-код страницы входа в систему.

1 Ответов

Рейтинг:
1

Afzaal Ahmad Zeeshan

В этой вашей проблеме очень простой способ был бы, если бы можно было найти некоторые из их API или библиотек, которые могут позволить вам сделать это.

Но поскольку вы не собираетесь использовать или, возможно, служба не предоставляет API, единственный способ сделать это-использовать внешнюю библиотеку, которая позволит вам проанализировать и проверить HTML-ответ, который вы получите обратно. Например, HtmlAgilityPack[^]- это одна из таких библиотек, которые я использовал в своих собственных приложениях в те дни. Используйте эту библиотеку для работы с HTML-страницами, отправки новых запросов и получения ответов на них.

Класс HttpClient (System.Net.Http) | Microsoft Docs[^]

Одна из проблем заключается в том, что ваши HTTP-клиенты могут не иметь возможности отправлять HTTP-файлы cookie, пожалуйста, перейдите по этой ссылке, чтобы узнать, как ваши файлы cookie будут использоваться реальным браузером, Как передаются файлы cookie в протоколе HTTP? - переполнение стека[^]