Я пытаюсь настроить прокси через программу на С ++, но это не работает.
Сама программа работает нормально, но на самом деле ничего не устанавливает.
Это код:
#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.
Кто-нибудь может мне помочь?
Проблема в коде или это что-то еще?
Благодарю.
system((std::string("netsh winhttp set proxy ") + ip +":" + port).c_str());
У тебя почти было это.
Чтобы использовать средство Netsh.exe для настройки прокси-сервера, выполните следующие действия.
Нажмите «Пуск», выберите «Выполнить», введите cmd и нажмите кнопку «ОК».
В командной строке введите netsh winhttp set proxy proxyservername:portnumber
и нажмите клавишу ВВОД.
Удачи.
Других решений пока нет …