拜托C++、C#高手,把下边的代码翻译成C#的
迷茫
迷茫 2017-04-17 11:30:25
[C++讨论组]
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的,应该怎么写?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
迷茫

代码就是设置Proxy地址,在C#里面可以直接使用WebRequestWebProxy来建立连接和设置代理。


/// Reference: /// http://msdn.microsoft.com/en-us/library/system.net.webrequest.proxy(v=vs.110).aspx /// /// Usage: /// createRequestWithProxy("http://www.segmentfault.com", "127.0.0.1:3125") WebRequest createRequestWithProxy(string, url, string proxyAddress) { WebRequest webRequest = WebRequest.Create(url); WebProxy webProxy = (WebProxy)webRequest.Proxy; try { webProxy.Address=new Uri(proxyAddress); } catch(UriFormatException e) { // do nothing } return webRequest; }
天蓬老师
WebRequest req = WebRequest.Create(url);
req.Proxy = new WebProxy("127.0.0.1:3125");

当然如果是http的话,你也可以用WebClient

WebClient wc = new WebClient();
wc.Proxy = new WebProxy("127.0.0.1:3125");
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号