Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
9 / 8 / 5
Регистрация: 13.05.2015
Сообщений: 253

Запрос на сайт

12.01.2024, 20:18. Показов 5355. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Помогите реализовать программу. Есть сайт, есть файл со списком прокси серверов. Нужно по очереди через каждый прокси из файла посетить сайт и скопировать в буфер обмена HTML код страницы.

Пока сделал как-то так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
 
class AppName
{
    static async Task Main()
    {
        string targetUrl = "https://url";
        string proxyListFile = "C:\\Users\\User\\Desktop\\folder\\https.txt";
        int delayMilliseconds = 1000; // Задержка между запросами (в миллисекундах)
        int timeoutSeconds = 10; // Время ожидания ответа от сервера (в секундах)
 
        List<string> proxyList = LoadProxyList(proxyListFile);
 
        if (proxyList.Count == 0)
        {
            Console.WriteLine("Ошибка: Нет доступных прокси-серверов в списке.");
            return;
        }
 
        foreach (var proxy in proxyList)
        {
            Console.WriteLine($"Посещение {targetUrl} через прокси: {proxy}");
 
            bool success = await VisitWebsiteWithProxy(targetUrl, proxy, timeoutSeconds);
 
            if (success)
                Console.WriteLine("Успешно.");
            else
                Console.WriteLine("Ошибка.");
 
            Thread.Sleep(delayMilliseconds);
        }
    }
 
    static List<string> LoadProxyList(string filePath)
    {
        List<string> proxyList = new List<string>();
 
        try
        {
            proxyList = File.ReadAllLines(filePath).ToList();
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Ошибка при загрузке списка прокси: {ex.Message}");
        }
 
        return proxyList;
    }
 
    static async Task<bool> VisitWebsiteWithProxy(string targetUrl, string proxy, int timeoutSeconds)
    {
        try
        {
            using (var handler = new HttpClientHandler { Proxy = new WebProxy(proxy), UseProxy = true })
            using (var client = new HttpClient(handler))
            {
                client.Timeout = TimeSpan.FromSeconds(timeoutSeconds);
                var response = await client.GetAsync(targetUrl);
 
                return response.IsSuccessStatusCode;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Ошибка при посещении сайта: {ex.Message}");
            return false;
        }
    }
}
Сделал только через HTTP прокси, а хотелось бы ещё через SOCKS4/5.
НО! Сначала нужно доделать имеющееся, у меня выдаёт ошибки:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Посещение https://url через прокси: 74.48.7.43:80
Ошибка при посещении сайта: The proxy tunnel request to proxy 'http://74.48.7.43/' failed with status code '400'."
Ошибка.
Посещение https://url через прокси: 5.17.6.83:8080
Ошибка при посещении сайта: The request was canceled due to the configured HttpClient.Timeout of 10 seconds elapsing.
Ошибка.
Посещение https://url через прокси: 114.231.41.171:8089
Ошибка при посещении сайта: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (114.231.41.171:8089)
Ошибка.
Посещение https://url через прокси: 153.101.67.170:9002
Ошибка при посещении сайта: The proxy tunnel request to proxy 'http://153.101.67.170:9002/' failed with status code '400'."
Ошибка.
Посещение https://url через прокси: 158.140.191.136:8080
Ошибка при посещении сайта: The request was canceled due to the configured HttpClient.Timeout of 10 seconds elapsing.
Ошибка.
Посещение https://url через прокси: 164.152.17.14:80
Ошибка при посещении сайта: The proxy tunnel request to proxy 'http://164.152.17.14/' failed with status code '400'."
Ошибка.
Посещение https://url через прокси: 117.69.237.184:8089
Ошибка при посещении сайта: The request was canceled due to the configured HttpClient.Timeout of 10 seconds elapsing.
Ошибка.
Посещение https://url через прокси: 162.212.157.35:8080
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2024, 20:18
Ответы с готовыми решениями:

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

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.01.2024, 20:18
Помогаю со студенческими работами здесь

Отправить запрос на сайт
Как отправить запрос на сайт не используя тормозные компоненты?

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

Запрос на другой сайт
Добрый день Допустим, необходимо сделать запрос на какой-либо сайт и получить заголовки с кодом ответа. Но политика единого источника не...

TCP. Get запрос на сайт
Здравствуйте, форумчане! Появилась потребность отправить GET запрос на сайт и получить исходную страницу этого сайта посредством TCP . ...

CURL и запрос на сайт
Нужно авторизоваться на сайте и после успешной аутентификации сделать 1 запрос курлом. Авторизация по методу POST поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru