Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf 获取远程服务器时返回错误403禁止的异常_Wcf_Http Status Code 403 - Fatal编程技术网

Wcf 获取远程服务器时返回错误403禁止的异常

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(

我试图从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("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();
                }
            }