我正在一个网站上工作,我正在使用以下代码从外部URL检索XML数据
WebRequest req = WebRequest.Create("External server url");
req.Proxy = new System.Net.WebProxy("proxyUrl:8080", true);
req.Proxy.Credentials = CredentialCache.DefaultCredentials;
WebResponse resp = req.GetResponse();
StreamReader textReader = new StreamReader(resp.GetResponseStream());
XmlTextReader xmlReader = new XmlTextReader(textReader);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
Run Code Online (Sandbox Code Playgroud)
这段代码在我的开发PC上工作正常(带有.Net 3.5的Windows XP)
但是,当我将此代码部署到IIS(Windows XP和Windows Server 2003上)时,它会给我以下错误
"远程服务器返回错误:(407)需要代理验证."
有时它给了我
"远程服务器返回错误:(502)Bad Gateway."
以下代码来自我的web.config
<system.net>
<defaultProxy>
<proxy usesystemdefault="False" proxyaddress ="http://172.16.12.12:8080" bypassonlocal ="True" />
</defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)
请帮我 ?
[编辑] 即使我运行网站开发PC但通过IIS它给我错误"远程服务器返回错误:(407)需要代理验证."
但是,当我从Microsoft Devlopment服务器运行网站时,它运行正常
小智 7
@Mohit Agarwal
非常感谢您建议添加'useDefaultCredentials ="true"',您就是明星!
我一直试图让Google数据库API样本的.NET库工作数周而没有成功.添加你的建议解决了我的问题,我现在得到一个连接,而不是需要407代理身份验证.
speadsheet.exe.config内容需要是:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="true"/>
</defaultProxy>
</system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在我的情况下,不像谷歌建议:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy>
<proxy usesystemdefault="true"/>
</defaultProxy>
</system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)
http://code.google.com/p/google-gdata/wiki/WebProxySetup
| 归档时间: |
|
| 查看次数: |
35249 次 |
| 最近记录: |