0

さて、SQLテーブルの内容を返し、それらをエコーするphpスクリプトがあります。ページをロードすると正常に動作しますが、C#を介して文字列をダウンロードすると空になります... SQLテーブルも機能します。

私は WebRequests も試してみましたが、うまくいきませんでした。

なぜ機能しないのでしょうか?

また、出力は 1 行だけです。

ここに私のPHPコードがあります

<?php  
$database="example";  
mysql_connect ("localhost", "username", " ");  
@mysql_select_db($database) or die( "Unable to select database");  
$result = mysql_query( "SELECT * FROM names" )  
or die("SELECT Error: ".mysql_error());  
$num_rows = mysql_num_rows($result);  


while ($get_info = mysql_fetch_row($result)){  
foreach ($get_info as $field)  
echo $field;  
}  

?>  

C# コード

 HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://10.0.0.3/list.php");
        myHttpWebRequest.MaximumAutomaticRedirections = 1;
        myHttpWebRequest.AllowAutoRedirect = true;
        HttpWebResponse response = (HttpWebResponse)myHttpWebRequest.GetResponse();
        using (Stream stream = response.GetResponseStream())
        {
            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            String responseString = reader.ReadToEnd();
            MessageBox.Show(responseString);
        }

これが生成されたHTMLです(ナンセンスですが、テストしただけです)

jacobsharkeypetergriffinTimPalmer123testlion ofnarnia  

奇妙なことは、たとえばphpスクリプトで「$ field」を「test」のようなものに変更すると、完全に機能し、存在するテーブル結果の数によってテストを出力します

4

1 に答える 1

0

HTML を取得するためにこれを試してみてください。これはコードがはるかに少なく、おそらく少しきれいです。

string str = string.Empty;

WebClient client = new WebClient();
Stream data = client.OpenRead("http://www.google.com");
StreamReader reader = new StreamReader(data);
str = reader.ReadToEnd();
于 2012-12-27T22:26:23.983 に答える