2012-01-05 69 views
2

我有一個程序,將提出一個PHP頁面的Web請求(這裏不會涉及瀏覽器),我需要使用PHP發送一些數據回程序...我怎麼做這個?PHP的網頁響應

+4

'echo'? -------- – 2012-01-05 19:08:56

+1

如果您不介意,請在提出問題時嘗試包括代碼和最壞情況的僞代碼。它只是在未來的參考文獻中幫助其他人:) – 2012-01-05 19:14:33

回答

3

只需使用echo回顯您想要發回的內容。

<?php 
    echo "thing that i want to send back"; 
?> 
1

你考慮過web服務嗎?這可能是矯枉過正。否則..一個POST或GET並回應與PHP的迴應..?

你所描述的基本上是一個網站。

0

後,得到真正看起來像這裏的解決方案。雖然我對這種技術不太滿意,因爲如果URL中的參數不正確或未經驗證,它很容易出錯。也許考慮一下PHP以外的東西?但嘿答案是,它會像其他人所說的那樣工作:)

0

根據您需要從PHP返回的數據類型,並假設您同時擁有C#應用程序和PHP應用程序的控制權,可能會使用諸如WebClient類之類的東西,它允許您對URL進行HTTP調用,該URL將指向您的PHP應用程序。一旦請求完成,你可以在你的PHP應用程序中做任何必要的處理,然後很可能返回到C#應用程序(也取決於你正在使用的數據的類型)

0

一個簡單的HTTP響應由標題和正文組成。 標題不會顯示在您的Web瀏覽器中,而是發生在客戶端(瀏覽器)服務器通信(Web服務器) - 簡單地說。

網絡服務器將返回到您的程序也叫標題,您將不得不注意。

使用你的PHP腳本,您可以發送您的輸出與echo

<?php 
    echo 'Responding to the program...'; 
?> 
1

,應該回送你想回到什麼,像其他人說。

對於c#應用程序,您應該等待響應,並閱讀響應流以獲取迴響。

public GetResponeFromPHP() 
    { 

     HttpWebRequest request = null; 

     HttpWebResponse resp = null; 

     try 
     { 
      request = (HttpWebRequest)WebRequest.Create("http://www.URL_of_php.php"); 
      request.Method = "POST"; 
      request.Credentials = CredentialCache.DefaultCredentials; 

      // execute the http request and get the response 
      resp = request.GetResponse() as HttpWebResponse; 


      if (resp.StatusCode == HttpStatusCode.OK) 
      { 
       //read the response stream 
       String responseText; 
       using (StreamReader sr = new StreamReader(resp.GetResponseStream())) 
       { 
        responseText = sr.ReadToEnd(); 
       } 

       // Now use respones text to get the echos // 

      } 
     } 
     catch (Exception e) 
     { 
      throw e; 
     } 
     finally 
     { 
      if (resp != null) 
       resp.Close(); 
     } 

    } 
+0

您的評論並沒有真正添加任何代碼,聲明'//聲明WebRequest類的HTTP特定實現'顯然是來自代碼。評論應解釋如何和爲什麼,如果需要 – diggingforfire 2012-01-06 00:09:48

+0

@diggingforfire:謝謝,你是對的,我從我的一箇舊應用程序中拿了一個例子,忘記刪除它們。固定! – Seffix 2012-01-06 06:24:32