2017-11-07 3 views
2

Request使いやすいです、しかし、私は奇妙な問題が発生しました:私は、コードを実行したときにノード要求エラー:ヘッダの内容に無効な文字が含まれていますか?

let request = require('request'); 
let url = "https://www.baidu.com/s?wd=整天就是背背背记记记,或者有些正,时间就这么浪费了"; 

request(url, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     console.log(body); 
    } else { 
     console.log(error); 
    } 
}); 

、:

TypeError: The header content contains invalid characters

これは私のコード(非常にシンプルな、ちょうどGETリクエスト)でありますエラーが発生しました。私は私の要求にヘッダーを設定していませんでした。

リクエストは中国語文字をサポートしていませんか?私は混乱している、誰の助言?

+0

を確認します。これは、ASCII文字のみを含むURLを作成します

let url = "https://www.baidu.com/s?wd=" + encodeURIComponent("整天就是背背背记记记,或者有些正,时间就这么浪费了"); 

:あなたはこのようなパラメータ値をエンコードする必要がありますか? – wrangler

+0

だから私はW3のURLバリデーターに疲れました、それは403エラーを返しました(Robot.txtによって禁じられています)。 –

答えて

1

GETリクエストを使用しているため、URLパスとパラメータはリクエストヘッダーのメンバーです。 URL内のカンマについて

https://www.baidu.com/s?wd=%E6%95%B4%E5%A4%A9%E5%B0%B1%E6%98%AF%E8%83%8C%E8%83%8C%E8%83%8C%E8%AE%B0%E8%AE%B0%E8%AE%B0%EF%BC%8C%E6%88%96%E8%80%85%E6%9C%89%E4%BA%9B%E6%AD%A3%EF%BC%8C%E6%97%B6%E9%97%B4%E5%B0%B1%E8%BF%99%E4%B9%88%E6%B5%AA%E8%B4%B9%E4%BA%86 
関連する問題