Ok tôi đã chỉnh sửa mã của tôi tôi không nhận được lỗi nhưng messageBox.Show không trả lại hộp trống. Có lẽ tôi cần phải thêm một cái gì đó trong chuỗi liên kết giới thiệu? Tôi không hiểu lời giới thiệu là gì và tôi nên đặt cái gì ở đó. Và tôi có một chìa khóa đã im sử dụng nó trong mã của tôi. Chìa khóa là một chuỗi dài và im sử dụng nó trong mã của tôi tôi không sử dụng với liên kết giới thiệu. Tại sao nó lại dịch từ "hi"?HttpClient không tồn tại trong .net 4.0: Tôi có thể làm gì?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
using System.IO;
using System.Net;
using System.Web;
using System.Web.Script.Serialization;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private JavaScriptSerializer _Serializer = new JavaScriptSerializer();
public Form1()
{
InitializeComponent();
string f = TranslateText("hi", "English", "German", "", "");
MessageBox.Show(f);
}
private void Form1_Load(object sender, EventArgs e)
{
}
public string TranslateText(string inputText, string sourceLanguage, string destinationLanguage, string referrer, string apiKey)
{
string requestUrl = string.Format(
"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={0}&langpair={1}|{2}&key={3}",
HttpUtility.UrlEncode(inputText),
sourceLanguage.ToLowerInvariant(),
destinationLanguage.ToLowerInvariant(),
apiKey
);
try
{
HttpWebRequest http = (HttpWebRequest)HttpWebRequest.Create(requestUrl);
http.Referer = referrer;
HttpWebResponse response = (HttpWebResponse)http.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
string responseJson = sr.ReadToEnd();
var translation = this._Serializer.Deserialize<Milkshake.Integration.Google.GoogleAjaxResponse<Milkshake.Integration.Google.Translate.TranslationResponse>>(responseJson);
if (translation != null && translation.ResponseData != null && translation.ResponseData.ResponseStatus == HttpStatusCode.OK)
{
return translation.ResponseData.TranslatedText;
}
else
{
return String.Empty;
}
}
}
catch
{
return String.Empty;
}
}
}
}
Tiêu đề của câu hỏi này là rất rõ ràng, nhưng câu hỏi chính nó là không rõ ràng. Phải thừa nhận rằng nó cho thấy nỗ lực nghiên cứu, nhưng đó là tất cả. Nên có ít nhất một câu ngữ cảnh thay vì để người đọc tìm ra. Tôi thấy bạn đã chỉnh sửa câu hỏi của riêng bạn, bạn nên một lần nữa nhưng hãy chắc chắn rằng kết quả cuối cùng là có thể đọc được cho một người mới. Câu hỏi có giá trị về lâu dài, nhưng người tham gia phải làm cho nó có thể. –