How to load webview with post parameters in windows 8?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-25 03:49:44

问题


I need to load website using webview in metro apps. I could post login parameters using following method. how to load the same in webview??????

      string post_data = "userName=test123&password=test@321";

        // this is where we will send it
        string uri = "http://tesproject.com";

        // create a request
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.Method = "POST";

        // turn our request string into a byte stream
        byte[] postBytes = Encoding.UTF8.GetBytes(post_data);

        // this is important - make sure you specify type this way
        request.ContentType = "application/x-www-form-urlencoded";
        Stream requestStream = await request.GetRequestStreamAsync();

        // now send it
        requestStream.Write(postBytes, 0, postBytes.Length);

        // grab te response and print it out to the console along with the status code
        WebResponse response = await request.GetResponseAsync();

回答1:


WebView class doesn't support navigating to an URL with POST parameters directly.

You could however use your code and the WebResponse to get the HTML. And then use the NavigateToString method of the WebView class to render the HTML:

            HttpWebResponse httpResponse= (HttpWebResponse)response;
            StreamReader reader=new StreamReader(httpResponse.GetResponseStream());
            string htmlString= reader.ReadToEnd();
            if (!string.IsNullOrEmpty(htmlString))
                webView.NavigateToString(htmlString);

Or you could create your own HTML with a form with your post values and some javascript to submit the form, but that might be a bit more cumbersome.



来源:https://stackoverflow.com/questions/13834447/how-to-load-webview-with-post-parameters-in-windows-8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!