![](/img/trans.png)
[英]System.Net.WebException: The remote server returned an error: (403) Forbidden
[英]System.Net.WebException : The remote server returned an error: (415) UNSUPPORTED MEDIA TYPE
我遇到了一些訪問restful web服務的代碼問題。 運行此代碼,它在var httpResponse =(HttpWebResponse)httpWebRequest.GetResponse(); 返回的異常是:“System.Net.WebException:遠程服務器返回錯誤:(415)UNSUPPORTED MEDIA TYPE。”
public bool CreateAccount(string myUsername, string url, string authtoken) {
try {
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json";
httpWebRequest.MediaType="application/json";
httpWebRequest.Accept="application/json";
httpWebRequest.Method = "POST";
WebHeaderCollection headers = new WebHeaderCollection();
headers.Add("Authorization: Token"+authtoken);
httpWebRequest.Headers = headers;
using (StreamWriter streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) {
streamWriter.Write("{username : '"+myUsername+"'}");
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); // Fails on this line.
using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) {
JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
string json = streamReader.ReadToEnd();
}
return true;
} catch (WebException e) {
throw e;
return false;
}
//return true;
}
我已經為ContentType,MediaType和Accept嘗試了各種各樣的東西,但是服務開發人員給我的工作示例提供了-H“Content-Type:application / json”來卷曲,所以看起來似乎是“application / json“是正確的值。 他也做了--data-binary,我認為streamWriter對我有用。
有誰知道可能導致此錯誤的原因是什么?
弄清楚了。
當我做:
WebHeaderCollection headers = new WebHeaderCollection();
headers.Add("Authorization: Token "+authtoken);
httpWebRequest.Headers = headers;
我意外地吹走了通過執行以下創建的所有現有標頭:
httpWebRequest.ContentType = "application/json";
httpWebRequest.MediaType="application/json";
httpWebRequest.Accept="application/json";
httpWebRequest.Method = "POST";
答案是在我設置其他標頭的代碼上方移動我創建標頭的代碼,其中包含auth標記。
此錯誤的一個已知原因是服務文件和配置文件中的服務名稱不匹配。 那是您的服務名稱和配置服務名稱不匹配“
右鍵單擊解決方案資源管理器中的.svc文件,然后選擇“查看標記”並將正確的服務名稱粘貼到.config中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.