web sayfalarına veri gönderme C # başarısız

4 Cevap

benim c # uygulamasında aşağıdaki kodu kullanmış

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;

}

Sunucu tarafı PHP kodu

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

Mesajı yöntem her zaman boş bir değer döndürür

Bana yardım edin lütfen

4 Cevap

i aşağıdaki satırı değişti

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

karşı

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

şimdi gayet iyi çalışıyor

denemek

<?php
print_r($_REQUEST);
?>

ham TALEBİ değişkenler göstermek için. Eğer c # kodu testi ayarı nerede emin değil im.

Sen isteği url örneğin parametre olarak doğrulama veri eklemek gerekir.

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

Bu şekilde sizin gerçek istek URL olacaktır:

http://site.com/posttest.php?test=524001A

Eğer RequestStream kapanış değil deneyebilir misiniz? Aşağıdaki satırı kaldırmayı deneyin:

PostData.Close();

PS:. Bunu yapmak için gerekli net izinleri var mı?