размещение данных на веб-страницах не удается в C # - PullRequest
0 голосов
/ 10 августа 2009

я использовал следующий код в моем приложении c #

string verification_url = @"http://site.com/posttest.php?";
string verification_data = "test=524001A";
string result = string.Empty;
result = Post(verification_url, verification_data);

public string Post(string url, string data)
{
    string result = "";
    try
    {
        byte[] buffer = Encoding.GetEncoding(1252).GetBytes(data);
        HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(@url);
        WebReq.Method = "POST";

        WebReq.ContentType = "application/x-www-form-urlencoded";              
        WebReq.ContentLength = buffer.Length;
        Stream PostData = WebReq.GetRequestStream();

        PostData.Write(buffer, 0, buffer.Length);
        PostData.Close();

        HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
        Stream Answer = WebResp.GetResponseStream();
        StreamReader _Answer = new StreamReader(Answer);
        result = _Answer.ReadToEnd();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    if (result.Length < 0)
    result = "";

    return result;

}

PHP-код на стороне сервера

<?php   
$test=$_REQUEST['test'];
echo $test;
?>

метод post всегда возвращает пустое значение

пожалуйста, помогите мне

Ответы [ 4 ]

1 голос
/ 10 августа 2009

попробуй

<?php
print_r($_REQUEST);
?>

чтобы показать необработанные переменные REQUEST. Я не уверен, где вы устанавливаете тест в вашем коде C #.

0 голосов
/ 10 августа 2009

я изменил следующую строку

string verification_url = @"http://site.com/posttest.php?";

до

string verification_url = @"http://www.site.com/posttest.php?";

теперь работает нормально

0 голосов
/ 10 августа 2009

Не могли бы вы не закрыть RequestStream? Попробуйте удалить следующую строку:

PostData.Close();

PS: У вас есть необходимые разрешения .net для этого?

0 голосов
/ 10 августа 2009

Вам необходимо добавить данные проверки в качестве параметра к URL запроса, например.

string verification_data = "test=524001A";
string verification_url = @"http://site.com/posttest.php?" + verification_data;

Таким образом, ваш фактический URL запроса будет:

http://site.com/posttest.php?test=524001A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...