[英]Retrieving data using WebRequest
從msdn刻下了一些代碼后,我感到很奇怪,它不能完全按照我想要的方式工作。 我正在嘗試使用Google翻譯來為我即時翻譯一些內容。 問題是,responseFromServer不包含翻譯后的文本,當我使用瀏覽器查看源時也不會包含源文本,盡管在查看頁面本身時會自豪地顯示。
void getTranslation()
{
WebRequest request = WebRequest.Create("http://translate.google.com/translate_t?hl=en#en|fr|dog");
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
int index = 0;
while (responseFromServer.Substring(index).Contains("dog"))
{
index = responseFromServer.IndexOf("dog", index + 1);
Console.WriteLine(responseFromServer.Substring(index < 50 ? 0 : index - 50, 100));
Console.WriteLine(" ");
}
}
有人知道我在這里看不懂嗎? 還是返回與要求一樣簡單的翻譯的網站?
原因是轉換請求本身是異步AJAX請求。 如果您查看要檢索的頁面的源代碼,則不會找到chien
一詞。
您可以看一下Google AJAX語言API來實現所需的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.