WebRequest等效于CURL命令

Tre*_*iel 12 c# curl

我正试图将一个正在运行的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)

任何帮助将非常感激!

谢谢

Tre*_*iel 9

根据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)