如何在asp.net应用程序中接收http数据

时间:2013-01-18 08:44:22

标签: asp.net

“回复将直接发布到应用程序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

,我需要从整个响应中得到什么

2 个答案:

答案 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