[英]Getting HTTP Error 400 when using IP address instead of localhost
我用C#和VS2015創建了一個帶有Rest API的簡單Web應用程序。 Web應用程序在http://localhost:1623
,它工作正常。
現在我正在測試Rest API使用Postman
進行POST,我的url是例如http://localhost:1623/api/foo/bar
,標題為Content-Type: application/json
。 一切都很好,我得到了正確的答案。
我的電腦的本地IP地址是192.168.0.174
,所以我將網址更改為http://192.168.0.174:1623/api/foo/bar
,現在我收到HTTP Error 400. The request hostname is invalid
,為什么? 不應該是一樣的嗎? 如果我嘗試在瀏覽器中使用192.168.0.174:1623
而不是http://localhost:1623
訪問我的Web應用程序,則會發生相同的錯誤(我得到完全相同的錯誤):
嘗試使用我的IP從我的局域網中的某些設備其他設備使用API時,我得到了同樣的錯誤。 我需要使用IP,因為我需要從我的網絡訪問它,為什么它不起作用,我缺少什么? 我想這個和這個沒有成功。
用這個答案編輯applicationhost.config
解決了這個問題,在VS2015中,它位於[Project Folder]\\.vs\\config\\applicationhost.config:
。vs [Project Folder]\\.vs\\config\\applicationhost.config:
由於傑克答案中的鏈接網址目前無法正常工作,並且解決方案(至少對我來說)在另一個問題的答案中有所涉及,我將在此重復以下答案:
您可以設置多個綁定。 因此,您可以為要提供的每個外部地址設置綁定,它將起作用:
<bindings>
<binding protocol="http" bindingInformation=":1904:" />
<binding protocol="http" bindingInformation=":1904:machineName" />
<binding protocol="http" bindingInformation=":1904:10.1.10.123" />
</bindings>
這也很有幫助。 在我的情況下,我做了:
<bindings>
<binding protocol="http" bindingInformation=":1623:" />
<binding protocol="http" bindingInformation=":1623:<my pc name>" />
<binding protocol="http" bindingInformation=":1623:192.168.0.174" />
</bindings>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.