c# - 为什么 cURL 有效,但我的 HttpWebRequest 无效?
问题描述
我正在尝试采用以下 curl 语句并在 ac# 方法中重新执行它。以下 curl 语句工作正常(我屏蔽了凭据和 IP 地址),所以我确定目标服务器愿意玩球:
curl -D- -u user:password -X POST --data @data.txt -H "Content-Type: application/json" http://0.0.0.0:8080/rest/api/2/issue/
data.txt 看起来像这样:
{
"fields": {
"project":{"id": "10000"},
"summary": "No REST for the Wicked.",
"description": "Creating of an issue using ids for projects and issue types using the REST API",
"issuetype": {"id": "10002"},
"customfield_10115" : "3212.12",
"customfield_10116" : "Client Name",
"customfield_10117" : "Engagement Name",
"customfield_10118" : "TEst",
"customfield_10121" : "2019-11-30",
"customfield_10120" : "Daily"
}
}
但是,当我尝试在 C# 中重新执行上述操作时,它给了我可怕的 I'm-Not-Telling-You-Why-This-Doesn't-Work 消息:“远程服务器返回错误:(500 ) 内部服务器错误。”
这是我的 C# 代码。
Console.WriteLine("Start");
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://0.0.0.0:8080/rest/api/2/issue/");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
httpWebRequest.Headers.Add("Authorization", "Basic user:password");
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"fields\": {\"project\":{ \"id\": \"10000\"},\"summary\": \"No REST for the Wicked.\",\"description\": \"description text\",\"issuetype\": { \"id\": \"10002\"},\"customfield_10115\" : \"3212.12\",\"customfield_10116\" : \"Client Name\",\"customfield_10117\" : \"Engagement Name\",\"customfield_10118\" : \"Payroll\",\"customfield_10121\" : \"2019-11-30\",\"customfield_10120\" : \"Daily\"}}";
streamWriter.Write(json);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
有任何想法吗?
解决方案
感谢发现我的问题的 fenixil:
只需要对用户名/密码对进行 Base64 处理。现在像冠军一样工作!
推荐阅读
- javascript - 更改输入字段内的标签文本
- elf - ELF二进制中具有相同名称的不同符号
- javascript - 获取textarea中的最后一个单词位置(x,y)坐标
- puppeteer - 在 puppeteer 中,如何获取由 innerText 找到的元素的 nextSibling 的内容?
- python - 如何运行 setup.py 文件而不位于其目录中?
- flutter - 为什么我的 Flutter 应用在尝试启动 Apple Maps 时会崩溃?
- html - 如何不让用户在日期类型输入中插入值
- python - 尽管存在于 iframe 中,但 Selenium 无法找到特定的 div
- c# - C# Winform LiveCharts 不知道如何绘图
- google-cloud-platform - CHAINLINK NODE - 您的节点超载,可能会开始丢失作业错误