今天在弄一个登陆方法时,由于请求的是测试服务器,要访问接口的登陆方法,但是在请求过程中,
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
WebResponse response = request.GetResponse();;
response 请求报错:基础连接已经关闭: 连接被意外关闭。用postman请求登陆方法报错如下:
从字表意思是接口方法不允许方法,连接打不开。postman也无法请求。可参考https://blog.csdn.net/jiangyu1013/article/details/82120052
如果postman还是请求不到,请看如下原因:
针对这个问题,有以下几个可能:
1:在请求时加入参数限制,类如:
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);
2:(我的问题也是这个原因)在访问接口时,本地host文件没有配置相关信息,可参考https://jingyan.baidu.com/article/fedf073754695735ac89772c.html
访问路径C:WindowsSystem32driversetc打开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:CsharpProjectmuTian.sysAdminmuTian.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状态码的错误
至此,关于请求问题介绍完成,如有问题,可评论留言!!