首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中用HttpWebRequest访问Gitlab Api

在C#中用HttpWebRequest访问Gitlab Api
EN

Stack Overflow用户
提问于 2018-04-09 19:34:51
回答 1查看 816关注 0票数 0

我正在尝试访问我的Gitlab服务器上的API。它可以与curl一起使用,但不能在我的C#代码中使用。

代码语言:javascript
运行
复制
curl --insecure https://gitlab.mycompany.de/dev/TestProjekt/milestones -H "Accept: application/json" -H "Private-Token: my_token"
代码语言:javascript
运行
复制
ServicePointManager.ServerCertificateValidationCallback = (obj, certificate, chain, errors) => (true);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var req = WebRequest.CreateHttp(new Uri("https://gitlab.mycompany.de/dev/TestProjekt/milestones"));
req.Headers.Add("Private-Token", "my_token");
req.Accept = "application/json";
req.Method = "GET";
var res = req.GetResponse();

我的C#代码导致一个WebException,并显示消息“底层连接已关闭,发送时出现意外错误”(我收到了德语错误消息,但我确信这是正确的翻译)

在我看来,这两个请求应该发送相同的数据。我尝试向http而不是https发送请求,以查看wireshark中的包。Curl发送一个额外的头"user agent“,c#发送"Connection: Keep Alive”。向C#请求添加用户代理也无济于事。

有谁知道可能会有什么不同吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-09 19:54:13

经过多次清理和重建,我现在得到了预期的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49731984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档