HTTPwebresponse无法正常工作,我无法发送任何信息

时间:2018-09-28 16:44:25

标签: c# httpwebresponse

因此,每当我运行此请求时,都会收到错误的请求错误。我已经看过堆栈溢出,但是似乎无法从用户那里得到任何响应来工作。任何帮助,将不胜感激。

//向SendGrid API发出请求,以将电子邮件地址添加到globabl取消订阅

        HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("https://api.sendgrid.com/v3/asm/suppressions/global");
        request1.Headers.Add("authorization", "My_API_KEY");
        string Data = "{" + "recipient_emails:[" + "\"" +(txtEmail.Text) + "\"" + "]}"; //place body here
        request1.Method = "POST";
        request1.ContentType = "application/json";

        using (StreamWriter sw = new StreamWriter(request1.GetRequestStream()))
        {

            sw.Write(Data);

        }

        HttpWebResponse response1= (HttpWebResponse)request1.GetResponse();

        using (var streamReader = new StreamReader(response1.GetResponseStream()))
        {
            var result = streamReader.ReadToEnd();
            result.ToString();
        }

1 个答案:

答案 0 :(得分:2)

这是摘录。

var apiKey = Environment.GetEnvironmentVariable("NAME_OF_THE_ENVIRONMENT_VARIABLE_FOR_YOUR_SENDGRID_KEY");

var client = new SendGridClient(apiKey);

string data = @"{
  'recipient_emails': [
    'test1@example.com', 
    'test2@example.com'
  ]
}";
Object json = JsonConvert.DeserializeObject<Object>(data);
data = json.ToString();
var response = await client.RequestAsync(method: SendGridClient.Method.POST, urlPath: "asm/suppressions/global", requestBody: data);
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.ReadAsStringAsync().Result);
Console.WriteLine(response.Headers.ToString());
Console.ReadLine();