今天在弄一個登陸方法時,由於請求的是測試服務器,要訪問接口的登陸方法,但是在請求過程中,
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:\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狀態碼的錯誤
至此,關於請求問題介紹完成,如有問題,可評論留言!!