Google 번역에 문자열을 보내는 작은 Windows 양식 프로그램을 작성했습니다. 대상 프레임 워크는 내 컴퓨터에 코드가 잘 작동C# - WebClient - Remoteserver가 503 오류를 보냅니다.
public string TranslateText(string input, string languagePair)
{
try
{
string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
WebClient webClient = new WebClient();
webClient.Encoding = System.Text.Encoding.UTF8;
string result = webClient.DownloadString(url);
result = result.Substring(result.IndexOf("<span title=\"") + "<span title=\"".Length);
result = result.Substring(result.IndexOf(">") + 1);
result = result.Substring(0, result.IndexOf("</span>"));
return result.Trim();
}
catch (WebException wex)
{
var err = "";
using (var sr = new StreamReader(wex.Response.GetResponseStream()))
err= sr.ReadToEnd();
saveLog(err);
return "FEHLER";
}
}
그래서 내 문제가 4.5.2 닷넷된다. 하지만 내 고객의 컴퓨터에는 항상 System.Net.WebException이 있습니다. "원격 서버에서 오류를 반환했습니다 : (503) 서버를 사용할 수 없습니다". 내가 무엇을해야하는지
System.Net.WebException: The remote server returner an error: (503) Server Unavailable.
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadString(Uri address)
at WindowsFormsApplication1.Form1.TranslateText(String input, String languagePair)
모르겠어요, : 다음은 완전한 오류입니다. 바이러스 백신 소프트웨어와 방화벽을 비활성화하려고했습니다. 또한 일부 유효 입력 (http://www.google.com/translate_t?hl=en&ie=UTF8&text=test&langpair=de|en)을 사용하여 URL 문자열을 브라우저에 복사하려고 시도했습니다.
내가 시도 할 수있는 것은 무엇입니까? 시간을 내 주셔서 감사합니다. 감사합니다. Dominik
EDIT : 문제가 해결되었습니다. 먼저 URL을 https://translate.google.com/?hl=en&;ie=UTF8&text= {0} & langpair = {1}로 변경 한 다음 보안 문자 문제를 받았습니다. 즉 = UTF8 & 텍스트 = {0} & langpair = {1} & 클라이언트 =
Google에서 허용하지 않습니다. 'https'로 변경하십시오 : string url = String.Format ("https://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);' – Sakura
@sakura 위의 코드가 내 컴퓨터의 LinqPad에서 잘 작동한다는 것을 알았습니다. 아마도 https로 301 리다이렉트를 받게 될 것입니다. 어쩌면 문제가 될 수 있습니다 –
코드가 좋은 방법이 아닙니다. [이 코드] (https://github.com/Airstriker/GoogleTranslator/blob/master/Translator.cs)를 사용할 수 있습니다. 사용 예 :'https : //translate.googleapis.com/translate_a/single? client = gtx & sl = en & tl = de & dt = t & q = my + name + is + Sakura' – Sakura