Windows phone 7: опубликовать некоторые значения, получить ответ - PullRequest
2 голосов
/ 15 июня 2011

Как я могу опубликовать значение на онлайн-странице, а затем получить ответ, чтобы поместить его в строку?Это страница PHP, которая принимает значение $_POST, а затем выводит ответ, который я хочу получить.

1 Ответ

3 голосов
/ 15 июня 2011

Посмотрите на объект HttpWebRequest .

public void DoWork()
{
    var url = "http://posttestserver.com/post.php";
    // Create the web request object
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Method = "POST";
    webRequest.ContentType = "application/x-www-form-urlencoded";
    // Start the request
    webRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), webRequest);    
}
void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
    HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
    // End the stream request operation
    Stream postStream = webRequest.EndGetRequestStream(asynchronousResult);
    // Create the post data
    // Demo POST data 
    string postData = "Username=MyUserName&password=MyPassword";
    byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    // Add the post data to the web request
    postStream.Write(byteArray, 0, byteArray.Length);
    postStream.Close();
    // Start the web request
    webRequest.BeginGetResponse(new AsyncCallback(GetResponseCallback), webRequest);
}

void GetResponseCallback(IAsyncResult asynchronousResult)
{
    try
    {
        HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
        HttpWebResponse response;
        // End the get response operation
        response = (HttpWebResponse)webRequest.EndGetResponse(asynchronousResult);
        Stream streamResponse = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(streamResponse);
        var Response = streamReader.ReadToEnd();
        streamResponse.Close();
        streamReader.Close();
        response.Close();
    }
    catch (WebException e)
    {
        // Error treatment
        // ...
    }
}

private void button1_Click(object sender, RoutedEventArgs e)
{
    DoWork();
}

его код немного адаптирован из этого вопроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...