1

このようなWebリクエストをプログラムで作成しています

        string url = "http://aksphases:201/min-konto/printpdf.aspx?id=149656222&name=Ink%20And%20Toner";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = new CookieContainer(); // required for HttpWebResponse.Cookies
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        byte[] data = Encoding.UTF8.GetBytes("email=mymail&password=1234");
        request.ContentLength = data.Length;
        using (Stream stream = request.GetRequestStream())
        {
            stream.Write(data, 0, data.Length);
        }
        HttpWebResponse myWebResponse = (HttpWebResponse)request.GetResponse();
        Stream ReceiveStream = myWebResponse.GetResponseStream();

そして、printpdf.aspxページ(URLで見ることができます)で、このURLがプログラムで実行されたときに、クエリ文字列パラメーターを取得したいと思います。いつもの方法でやってみたところ

HttpContext.Current.Request.QueryString["id"]

動作しません。私が間違った方法で行っていることはありますか?それとも、これを行うためのより良い方法はありますか?

4

1 に答える 1

1

Web アプリのどこでこれを呼び出していますか?

HttpContext.Current.Request.QueryString["id"]

これがあなたが試してみるべきだと私が思うことです:

    string url = "http://aksphases:201/min-konto/printpdf.aspx?id=149656222&name=Ink%20And%20Toner";
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

    // try this
    Debug.WriteLine("About to send request with query=\"{0}\"", request.RequestUri.Query);
    // and check to see what gets printed in the debug output windows

    request.CookieContainer = new CookieContainer(); // required for HttpWebResponse.Cookies
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    byte[] data = Encoding.UTF8.GetBytes("email=mymail&password=1234");
    request.ContentLength = data.Length;

ASPXページでは、これを試してください:

    protected void Page_Load(object sender, EventArgs e) {
        var theUrl = this.Request.Url.ToString();
        Debug.WriteLine(theUrl); // is this the exact URL that you initially requested ?
        // if you have FormsAuthentication or other redirects
        // this might get modified if you're not careful

        var theId = this.Request.QueryString["id"];
        Debug.WriteLine(theId);
    }
于 2013-02-26T10:58:30.703 に答える