C# Response.Redirect(url)引发错误,因为url使用代理ASP.net
我正在尝试重定向到使用某个代理的URL。我在web.config中也做了一些更改,但仍然不起作用 在web.config中进行了以下更改C# Response.Redirect(url)引发错误,因为url使用代理ASP.net,c#,.net,redirect,proxy,response.redirect,C#,.net,Redirect,Proxy,Response.redirect,我正在尝试重定向到使用某个代理的URL。我在web.config中也做了一些更改,但仍然不起作用 在web.config中进行了以下更改 <system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <proxy proxyaddress="http://example.com:8080" bypassonlocal="False" /> </defaultPr
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy proxyaddress="http://example.com:8080"
bypassonlocal="False"
/>
</defaultProxy>
</system.net>
它会抛出错误,但当我尝试使用HttpRequest和HttpResponse获取响应时,情况也是如此,如下所示。当我调试时,我可以看到HttpRequest考虑在web.config中配置的代理
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Close();
var httpResponse = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string SessionID = streamReader.ReadToEnd();
}
}
有没有办法重定向到此URL?您能提供更多详细信息吗?工作的代码和错误消息?这个问题需要一些工作。您试图重定向到的URL是什么
Response.Redirect()
只接收传入的字符串,并从服务器返回一个带有新位置的http 302响应。它抛出错误的唯一原因是null异常,在回调、无效字符串或已启动的响应上使用它。IIS中的代理设置应仅影响来自此应用程序的出站web请求,而不影响客户端<代码>响应.重定向()不会被代理设置更改。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Close();
var httpResponse = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string SessionID = streamReader.ReadToEnd();
}
}