LPWSTR proxyName;
int on = 1;
if (on) {
proxyName = L"127.0.0.1:3125";
}
else {
proxyName = 0;
}
INTERNET_PER_CONN_OPTION_LIST OptionList;
INTERNET_PER_CONN_OPTION Option[3];
unsigned long listSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
Option[0].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
Option[1].dwOption = INTERNET_PER_CONN_FLAGS;
Option[2].dwOption = INTERNET_PER_CONN_PROXY_BYPASS;
OptionList.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
OptionList.pszConnection = NULL;
OptionList.dwOptionCount = 3;
OptionList.dwOptionError = 0;
DWORD proxyType = PROXY_TYPE_DIRECT; // this proxy type disables any proxy server
if (proxyName) {
if (proxyName[0]) {
proxyType = PROXY_TYPE_PROXY; // a name has been passed, so choose the correct proxy type for enabling the proxy server
}
}
Option[0].Value.pszValue = (LPWSTR)proxyName;
Option[1].Value.dwValue = proxyType;
if (on) {
Option[2].Value.pszValue = (LPWSTR)L"";
}
else {
Option[2].Value.pszValue = (LPWSTR)L"";
}
OptionList.pOptions = Option;
if (!InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, &OptionList, listSize)) {
// handle error
}
InternetSetOption(0, INTERNET_OPTION_REFRESH, NULL, NULL);
=====================================================
就是上边这些代码,如果写成用C#调用WinInet的,应该怎么写?
代码就是设置Proxy地址,在C#里面可以直接使用
WebRequest
和WebProxy
来建立连接和设置代理。