C# WebResponse 调用GetResponse()方法时报错:基础链接已经关闭: 链接被意外关闭。

今天在弄一个登录方法时,因为请求的是测试服务器,要访问接口的登录方法,可是在请求过程当中, html

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);api

 WebResponse response = request.GetResponse();;缓存

response 请求报错:基础链接已经关闭: 链接被意外关闭。用postman请求登录方法报错以下:服务器

从字表意思是接口方法不容许方法,链接打不开。postman也没法请求。可参考https://blog.csdn.net/jiangyu1013/article/details/82120052app

若是postman仍是请求不到,请看以下缘由:post

针对这个问题,有如下几个可能:测试

1:在请求时加入参数限制,类如:url

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.Timeout = 120 * 1000;
request.AllowAutoRedirect = true;
request.KeepAlive = true;
request.ContentType = contentType;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CertificateValidation);spa

2:(个人问题也是这个缘由)在访问接口时,本地host文件没有配置相关信息,可参考https://jingyan.baidu.com/article/fedf073754695735ac89772c.html.net

访问路径C:\Windows\System32\drivers\etc打开hosts文件【要以管理员打开,否则不饿能保存更改的内容】,在最后一行增长你访问的接口配置信息,类如:

192.168.0.XXX   api.XXXXX.com就是你访问的接口URL

# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
192.168.0.XXX   api.XXXXX.com

保存便可。再次运行项目,惊喜发现终于访问成功!!

 

 

因为有时候须要在局域网访问项目,这里介绍VS怎样在局域网访问项目:【如对此不敢兴趣,为节省你的宝贵时间,可忽略哦~】

1. 打开项目目录下的.vs目录, 修改applicationhost.config文件中的内容

2:【192.168.0.110是你的电脑的IP,可经过cmd ipconfig查看本机IP】

          <!--找到项目名-->

         < site  name="muTian.sysAdmin.UI.Portal" id="2">
             < application  path="/" applicationPool="Clr4IntegratedAppPool">
                 < virtualDirectory  path="/" physicalPath="D:\CsharpProject\muTian.sysAdmin\muTian.sysAdmin.UI.Portal" />
             </ application >
             < bindings >
                     <!--这一行是默认就有的-->
                 < binding  protocol="http" bindingInformation="*:10829:localhost" />
                 <!--这一行是增长的-->
                     <binding protocol="http" bindingInformation="*:10829:192.168.0.110" />
             </ bindings >
         </ site >      

3:打开cmd【注意以管理员打开】【10829是你的项目端口号,可在VS里面右键-->>属性查看】

执行 netsh http add urlacl url=http://192.168.0.110:59961/ user=everyone

此上下文中的命令:
show cacheparam - 显示 HTTP 服务的缓存参数。
show cachestate - 列出缓存的 URI 资源及其相关属性。
show iplisten - 显示 IP 侦听列表中的全部 IP 地址。
show servicestate - 显示 HTTP 服务快照。
show setting - 显示服务的设置值。
show sslcert - 显示 SSL 证书绑定。
show timeout - 显示服务的超时值。
show urlacl - 显示 URL 命名空间保留项。

从新编译运行项目,记得要以管理员省份打开VS,否则会出现503状态码的错误

至此,关于请求问题介绍完成,若有问题,可评论留言!!

 

原文出处:https://www.cnblogs.com/fengyulv/p/11824369.html

相关文章
相关标签/搜索