我正试图将一个正在运行的curl命令转换为ac#WebRequest.
我经历了不少贴子阅读,我很肯定我有正确的代码,但它仍然是行不通的.
任何人都可以看到我做错了吗?
这是工作curl命令:
curl -k -u x:reallylongstring -H "Content-Type: application/json" https://api.somewhere.com/desk/external_api/v1/customers.json
Run Code Online (Sandbox Code Playgroud)
这是我用c#编写的代码:
WebRequest wrGETURL;
wrGETURL = WebRequest.Create("https://api.somewhere.com/desk/external_api/v1/customers.json");
wrGETURL.Method = "GET";
wrGETURL.ContentType = "application/json";
wrGETURL.Credentials = new NetworkCredential("x", "reallylongstring");
Stream objStream = wrGETURL.GetResponse().GetResponseStream();
StreamReader objReader = new StreamReader(objStream);
string responseFromServer = objReader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
但api响应:
The remote server returned an error: (406) Not Acceptable.
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!
谢谢
根据Nikolaos的指示,我似乎用以下代码解决了这个问题:
public static gta_allCustomersResponse gta_AllCustomers()
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.somewhere.com/desk/external_api/v1/customers.json");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Accept = "*/*";
httpWebRequest.Method = "GET";
httpWebRequest.Headers.Add("Authorization", "Basic reallylongstring");
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
gta_allCustomersResponse answer = JsonConvert.DeserializeObject<gta_allCustomersResponse>(streamReader.ReadToEnd());
return answer;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
46544 次 |
最近记录: |