2

node.js アプリでリクエストをトリガーする必要があります。私のアプリにはルートがあり、実行時に動的に構築された URL にアクセスしようとしています。したがって、必要なのは、次のような REST API 呼び出しをトリガーすることだけです。

"https://www.domainname.com/sometext/"+ var1 +"/someothertext"

だから私はこれを試しました:

var options = {
    host: 'www.domainname.com',
    port: 80,
    path: '/1.0/'+var1,
    method: 'GET'
};

//  trigger request 
request(options, function(err,response,body) {
.......
});

これを実行すると、次のエラーが発生します。 options.uri is a required argument

したがって、ここでの私の目標は、動的に構築された URL にヒットするリクエストをトリガーすることです。リクエストをプラグインできる静的 URL があれば、問題なく動作します。

実際、私はこれをやろうとしました:

request("https://www.domainname.com/1.0/456", function(err,response,body) {
.......
});

これはうまくいきます。

しかし、var1 を使用して URL (パス) を動的に構築しようとしていますが、うまくいきません。

これを行う方法について何か提案はありますか?

4

2 に答える 2

4

request関数の最初の引数として渡すオプションには、URL または URI が必要です。

request("https://www.domainname.com/1.0/456",function(err,response,body) { 失敗しない理由は、最初の引数として URL を指定しているためです。

optionsオブジェクトを次のように変更します

var options = {
    url: 'https://www.domainname.com/sometext/'+ var1,
    port: 80,
    method: 'GET'
};

var1like で値をトリミングしてみてくださいvar1 = var1.replace(/^\s*|\s*$/g, '')

これでスペースが削除されます。

于 2012-08-27T06:54:32.057 に答える
0

リクエストによって取得されたoptions引数に、正しいフォーマットされたオブジェクトが与えられていないためです。

url or uri受信しているエラーは、オプションとしてa を送信する必要があるためです。これはここで明確にすることができます:

https://github.com/request/request

以下はあなたが望むことをするはずです:

だから私はこれを試しました:

var options = {
    url: "https://www.domainname.com/sometext/"+ var1 +"/someothertext"
    method: 'GET'
};

//  trigger request 
request(options, function(err,response,body) {
  console.log(response.statusCode);
});
于 2012-08-27T06:48:28.937 に答える