ブラウザで、GETリクエストを送信すると、その間にリクエストがCookieを送信します。次に、ノードからのGETリクエストをシミュレートしたいのですが、コードを作成するにはどうすればよいですか?
質問する
8018 次
3 に答える
15
すばらしいリクエストライブラリのCookieの使用は、デフォルトで有効になっています。あなたはそのようにあなた自身を送ることができます(Githubページから取られました):
var j = request.jar()
var cookie = request.cookie('your_cookie_here')
j.add(cookie)
request({url: 'http://www.google.com', jar: j}, function () {
request('http://images.google.com')
})
于 2012-09-06T02:32:23.860 に答える
4
ネイティブメソッドを使用してこれを実行する場合は、引数のメンバーにhttp:request()
適切なヘッダーを設定する必要がありますSet-Cookie
(どのように表示されるかについては、HTTPリファレンスを参照してください) 。ネイティブコードには、Cookieを処理するための特定のメソッドはありません。具体的な例が必要な場合は、Mikealのライブラリのソースコードまたはのコードを参照してください。headers
options
request
cookieParser
connect
しかし、Femiはほぼ間違いなく正しいです。Cookieの処理はかなり厄介な詳細でいっぱいであり、ほとんどの場合、すでに作成され、さらに重要なことにテストされたコードを使用したほうがよいでしょう。この特定のホイールを再発明しようとすると、ほとんどの場合は機能しているように見えるコードを思い付く可能性がありますが、不思議なことに失敗することがあります。
于 2012-09-06T06:31:24.063 に答える
0
var jar = request.jar();
const jwtSecret = fs.readFileSync(`${__dirname}/.ssh/id_rsa`, 'utf8');
const token = jwt.sign(jwtPayload, jwtSecret, settings);
jar.setCookie(`any-name=${token}`, 'http://localhost:12345/');
const options = {
method: 'GET',
url: 'http://localhost:12345',
jar,
json: true
};
request(options, handleResponse);
于 2017-02-23T22:44:16.843 に答える