2016-04-02 14 views
3

google translate api kullanmak istiyorum, bu yüzden bu node.js modülünü yaptım.node.js istek kodlaması (google tercüme)

module.exports = function(sourceText,sourceLang,targetLang,callback) { 
var qst = qs.stringify({ 
    client : 'gtx', 
    sl : sourceLang, 
    tl : targetLang, 
    dt : 't', 
    q : sourceText 
}); 
var options = { 
    uri: 'http://translate.googleapis.com/translate_a/single?'+qst, 
}; 
request.get(options).on('response',function(response){ 
    response.on('data',function(data){ 
     console.log(data.toString('utf-8')); 
    }); 
});.. 

Özellikle Japonca'yı Kore'ye çevirmek istiyorum, bu yüzden test ettim ama istediğim sonucu alamıyorum. URI'yi kontrol ettim ve tarayıcıda çalıştırdım, işe yaradı! Örneğin için

: [[["의의","ののの",,,0]],,"ja"]

Ama: sorceLang = ja, targetLang = ko, sourceText = の の の, gözatıcıdan üzerinde

Sonuç URI

http://translate.googleapis.com/translate_a/single?client=gtx&sl=ja&tl=ko&dt=t&q=%E3%81%AE%E3%81%AE%E3%81%AE

var node.js döndürme sonucu
: [[["縺ョ縺ョ縺ョ","縺ョ縺ョ縺ョ",,,0]],,"ja"]

İstekte bir sorun olduğu düşünülüyor, çünkü sonuç çevrilmiyor.

Lütfen bana biraz çözüm verin. Teşekkür ederim.

+0

Denemek istediniz 'request.get (seçenekler, işlev (err, res, beden) {console.log (body)})'? – mscdex

+0

Evet, denedim. Ama sonuç aynı. : ん に ち わ gövde: [[["縺 薙 s 縺 ォ 縺. SaaS 는", "縺 薙 s 縺 ォ 縺。 繧" ,,, 0]] ,, @ mscdex – yongsup

cevap

2

Anladım!

Tarayıcı sonucu doğru. Böylece, 'User-Agent' işitmeçısını ayarlıyorum. İşte benim kaynak

module.exports = function(sourceText,sourceLang,targetLang,callback){ 
var qst = qs.stringify({ 
    client : 'gtx', 
    sl : sourceLang, 
    tl : targetLang, 
    dt : 't', 
    q : sourceText 
}); 
var options = { 
    uri: 'http://translate.googleapis.com/translate_a/single?'+qst, 
    headers : { 
     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36' 
    } 
}; 
request.get(options).on('response',function(response){ 
    response.on('data',function(data){ 
     console.log(data); 
    }); 
});} 

Konsol sonuç

olduğunu
[[["안녕하세요","こんにちわ",,,0]],,"ja"] 

teşekkür ederiz!