“回复将直接发布到应用程序URL。一旦发布,应用程序将需要从该信息中获取状态代码和消息ID,以确定SMS传递的结果。”
基本上我向API发送http请求以发送文本消息,并且该网站进一步将传递状态发送到我给他们的另一个URL。现在我想使用http接收发送到我的应用程序的数据如何在asp.net
中进行编辑部分
NameValueCollection pColl = Request.Params;
// Iterate through the collection and add
// each key to the string variable.
for (int i = 0; i <= pColl.Count - 1; i++)
{
paramInfo += "Key: " + pColl.GetKey(i) + "<br />";
// Create a string array that contains
// the values associated with each key.
string[]pValues = pColl.GetValues(i);
// Iterate through the array and add
// each value to the string variable.
for (int j = 0; j <= pValues.Length - 1; j++)
{
paramInfo += "Value:" + pValues[j] + "<br /><br />";
}
}
Log(add, paramInfo);
以上代码为我生成以下回复:
Key: result<br />Value:-5<br /><br />Key: transactionid<br />Value:2a8b0559d2a6d96ff2250c5339356293<br /><br />Key: notification<br />Value:msgresult<br /><br />Key: messageid<br />Value:My test message.<br /><br />Key: botkey<br />Value:123456<br /><br />Key: ALL_HTTP<br />Value:HTTP_CONNECTION:keep-alive
HTTP_CONTENT_LENGTH:120
HTTP_CONTENT_TYPE:application/x-www-form-urlencoded
HTTP_ACCEPT:text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
HTTP_HOST:abcdef
HTTP_USER_AGENT:Java/1.6.0_21
HTTP_TRANSACTIONID:2a8b0559d2a6d96ff2250c5339356293
HTTP_MESSAGEID:95a8e9c37b9e449fe47e7d3acdd6f6e5
br /><br />Key: ALL_RAW<br />
如果Key:结果为-5
,我需要从整个响应中得到什么答案 0 :(得分:3)
您的服务提供商所说的是,他们会将您的信息页(最有可能是POST)发送到您的信息页。
Asp.net页面默认通过http调用。
您可以按如下方式接收参数:
protected void Page_Load(object sender, EventArgs e)
{
var param1 = Request.Form["paramName"];
}
我确信您的服务提供商必须提供他们将要发布的参数名称。
修改强>
您的编辑使它变得更容易。
您需要的result
已经是Request.Params
的一部分。
你可以使用
获得它var result = Request.Params["result"];
甚至更简单
var result = Request["result"];
注意:在第一次调用时使用Request.Params
代价很高,因为它通过添加QueryString,Form,Cookie和ServerVariables中的参数来构建NameValueCollection
。
答案 1 :(得分:0)
然后你可以去httpwebrequest和httpwebresponse,如下所示
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://Smsprovider");
HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
然后您可以通过使用myResp.StatusCode来查看传递报告,例如,如果传递了消息,那么myResp.StatusCode将等于OK您可以看到许多这样的属性 http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.aspx