Ok ho modificato il mio codice non ottengo errori ma il messageBox.Show restituisce nulla di vuoto. Forse ho bisogno di aggiungere qualcosa nella stringa del referrer? Non ho capito qual è il referrer e cosa dovrei mettere lì. E ho già una chiave per usarlo nel mio codice. La chiave è una lunga stringa e sto usando il mio codice nel mio codice che non uso con il referrer. Perché dosent traduce la parola "ciao"?HttpClient non esiste in .net 4.0: cosa posso fare?
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;
}
}
}
}
Il titolo di questa domanda è molto chiara, ma la domanda in sé non è chiara. Ammetto che mostra uno sforzo di ricerca, ma questo è tutto. Ci dovrebbe essere almeno una frase di contesto invece di permettere al lettore di capire. Ho visto che hai modificato la tua domanda, dovresti fare di nuovo ma assicurarti che il risultato finale sia leggibile per un nuovo arrivato. Le domande hanno valore a lungo termine, ma i partecipanti devono renderlo possibile. –