Csharp/C#教程:ASP.NET等效于此cURL命令分享


ASP.NET等效于此cURL命令

我正在使用Twilio API,它提供了PHP和Ruby的示例。 我正在一个站点上通过在ASP.NET MVC 3中编码的API发送文本消息,并且使用我对WebRequest对象的有限知识,我能够翻译它:

curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/AC4840da0d7************f98b20b084/SMS/Messages.xml'  -d 'From=%2B14155992671'  -u AC4840da0d7************f98b20b084:f7fc2**************75342 

进入这个:

 var request = WebRequest.Create(MessageApiString + "?From=+14*********1&To=" + Phone + "&Body=" + smsCampaign.Message); var user = "AC4840da0d7************f98b20b084"; var pass = "f7fc2**************75342"; string credentials = String.Format("{0}:{1}", user, pass); request.Headers.Add("Authorization", credentials); var result = request.GetResponse(); 

但它没有进行身份validation,我从他们的API获得了401。 cURL -u命令的等效C#是多少?

更新

  var request = WebRequest.Create(MessageApiString + "?From=+14155992671&To=" + Phone + "&Body=" + smsCampaign.Message); var cc = new CredentialCache(); cc.Add(new Uri(MessageApiString), "NTLM", new NetworkCredential("AC4840da0d7************f98b20b084", "f7fc2**************75342")); request.Credentials = cc; request.Method = "POST"; var result = request.GetResponse(); 

仍然得到401.任何想法?

更新2

好吧,多亏了下面的答案,我能够通过api,但现在我收到400 Bad Request。 是否有更简洁的方法来构建查询字符串以传递此数据? 这三个字段是FromToBody

尝试包括

  request.Method = "POST"; 

 request.Credentials = new NetworkCredential("username", "password"); 

Curl中的-u选项是指定服务器身份validation的用户名和密码 。

对于C#,这是使用WebRequest.Credentials属性设置的。

上述就是C#学习教程:ASP.NET等效于此cURL命令分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1006195.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐