Windows — Попытка настроить прокси с помощью программы C ++. Не работает

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

Это код:

#include <iostream>
#include <windows.h>
#include <string>
using namespace std;

void newproxy();

int main (){

int ch = 0;

cout << "Select the option:\n\n\t(1)Set a NEW proxy\n\t(2)View the current proxy settings\n\t(3)Clear ALL proxy settings\n\t(4)Exit\n\n\t";
cin >> ch;
cin.ignore();
switch (ch){

case 1 :
system("cls");
newproxy();
break;

case 2 :
system("cls");
system("netsh winhttp show proxy");
system("pause");
system("cls");
main();
break;

case 3 :
system("cls");
system("netsh winhttp reset proxy");
system("cls");
cout << "ALL proxy settings cleared\n\n";
main();
break;

case 4 :
return 0;
break;

}
}

void newproxy(){

string ip;
string port;
int ch = 0;

cout << "Insert ip: ";
getline (cin, ip);
cout << "Inster port: ";
getline(cin, port);
cout << "\nAre those the correct ip and port? " << ip << ":" << port << "\n\n\t(1)Yes (2)No (3)Abort\n\n\t";
cin >> ch;
cin.ignore();
switch (ch){

case 1 :
break;

case 2 :
system("cls");
newproxy();
break;

case 3 :
system("cls");
main();
break;

}
system(("netsh winhttp set proxy proxy-server="+ip+":"+port).c_str());
system("cls");
cout << "Proxy succesfully setted\n\n";
main();
}

Когда я устанавливаю новый прокси, программа фактически видит его и отображает, даже если я перезапускаю программу, но на самом деле ничего не делается. Если я открываю браузер и выполняю поиск «мой IP-адрес», он отображает тот же общедоступный IP-адрес, что и при настройке в настройках Windows.

Кто-нибудь может мне помочь?
Проблема в коде или это что-то еще?

Благодарю.

1

Решение

 system((std::string("netsh winhttp set proxy ") + ip +":" + port).c_str());

У тебя почти было это.

Чтобы использовать средство Netsh.exe для настройки прокси-сервера, выполните следующие действия.

Нажмите «Пуск», выберите «Выполнить», введите cmd и нажмите кнопку «ОК».

В командной строке введите netsh winhttp set proxy proxyservername:portnumberи нажмите клавишу ВВОД.

Удачи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]