0

asp.net を使用して認証 http ヘッダーを作成したいのですが、php+ curl を使用して作成したい場合は、ドキュメントに記載されているコードがあります。リンクはhttp://help.voxeo.com/go/help/evolution.sms.ポスタピ

IIS に php をインストールしたくないし、純粋に .net 環境で作業したい。誰かが次のコードに代わるaspを与えることができますか:

$botkey='[999999]';

$from="14075551212";

$userKey = $_REQUEST['userkey'];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://api.messaging.staging.voxeo.net/1.0/messaging');

curl_setopt($ch, CURLOPT_HEADER, 0);

$data="botkey=".$botkey."&apimethod=send&msg=".$msg."&userkey=".$userKey."&network=SMS&   from=".$from;

curl_setopt($ch, CURLOPT_USERPWD, '[Evolution User Name]:[Evolution Password]');

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

c    url_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_TIMEOUT, 100);

以下のcurlに代わるASP.netが必要です

curl -u MyUserName:MyPassword "http://api.messaging.staging.voxeo.net/1.0/messaging" -X POST -d "botkey=12345&apimethod=send&msg=My%20test%20message.&user=14075555555&network=SMS&from=14076666666"
4

1 に答える 1

0

私はあなたを完全に理解しているかどうかわかりませんが、これはフラッシュが私のアプリの安全なセクションに到達できるようにするために私がしなければならなかったことです. 明確にするために削除したチェックがさらにありますが、これが必要な場合は認証 Cookie が作成されます。ただし、ASP.NET で通常の認証方法を使用できないのはなぜですか?

void Application_BeginRequest(object sender, EventArgs e)
{
    string SessionParamName = "";
    string SessionCookieName = "";
    string AuthParamName = "";
    string AuthCookieName = "";

    try
    {
        SessionParamName = "ASPSESSID";
        SessionCookieName = "ASP.NET_SessionId";
        if (HttpContext.Current.Request.Form[SessionParamName] != null)
            UpdateCookie(SessionCookieName, HttpContext.Current.Request.Form[SessionParamName]);
        else if (HttpContext.Current.Request.QueryString[SessionParamName] != null)
            UpdateCookie(SessionCookieName, HttpContext.Current.Request.QueryString[SessionParamName]);
    }
    catch { }

    try
    {
        AuthParamName = "AUTHID";
        AuthCookieName = FormsAuthentication.FormsCookieName;
        if (HttpContext.Current.Request.Form[AuthParamName] != null)
            UpdateCookie(AuthCookieName, HttpContext.Current.Request.Form[AuthParamName]);
        else if (HttpContext.Current.Request.QueryString[AuthParamName] != null)
            UpdateCookie(AuthCookieName, HttpContext.Current.Request.QueryString[AuthParamName]);
    }
    catch { }
}

private void UpdateCookie(string CookieName, string CookieValue)
{
    HttpCookie Cookie = HttpContext.Current.Request.Cookies.Get(CookieName);
    if (Cookie == null)
        Cookie = new HttpCookie(CookieName);

    Cookie.Value = CookieValue;
    HttpContext.Current.Response.Cookies.Add(Cookie);
}
于 2013-01-14T09:03:29.463 に答える