Wcf 获取远程服务器时返回错误403禁止的异常
我试图从WCF服务访问,但远程服务器返回错误403禁止异常 我已经尝试添加httprequest.UseDefaultCredentials=true;和 Accept=text/html,application/xhtml+xml,application/xml;q=0.9,图像/webp,*/*;q=0.8;但到目前为止,这些都没有帮助我 以下是使用的代码:Wcf 获取远程服务器时返回错误403禁止的异常,wcf,http-status-code-403,Wcf,Http Status Code 403,我试图从WCF服务访问,但远程服务器返回错误403禁止异常 我已经尝试添加httprequest.UseDefaultCredentials=true;和 Accept=text/html,application/xhtml+xml,application/xml;q=0.9,图像/webp,*/*;q=0.8;但到目前为止,这些都没有帮助我 以下是使用的代码: HttpWebRequest httprequest = (HttpWebRequest)HttpWebRequest.Create(
HttpWebRequest httprequest = (HttpWebRequest)HttpWebRequest.Create("https://api.github.com/search/repositories?q=service+language:assembly%26sort=stars%26order=desc");
httprequest.Proxy = new WebProxy()
{
Address = new Uri(Proxy_address),
Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
};
httprequest.UseDefaultCredentials = true;
httprequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
httprequest.KeepAlive = true;
HttpWebResponse GISTResponse = (HttpWebResponse)httprequest.GetResponse();
请帮忙。可能有很多事情。
在测试代码时,我可能会注意到您缺少UserAgent,并且由于git的要求,您的Accept是错误的
尝试删除接受并添加此行:
httprequest.UserAgent = "My request";
如果仍然存在问题,您可以通过添加一个try和这个catch块自己检查发生了什么,并从git检查reponsext:
希望对您有所帮助这里的代理地址是什么?我添加了UserAgent,效果很好。谢谢:。但是你能告诉我为什么需要UserAgent吗?UserAgent是否存在任何默认值?UserAgent是可选的,但它是Git所必需的,必须是他们的策略。
catch (WebException exception)
{
string responseText;
using (var reader = new StreamReader(exception.Response.GetResponseStream()))
{
responseText = reader.ReadToEnd();
}
}