2011-10-21 5 views
0

現在、Node.js用のWebプロキシを使用していますが、フォームの送信に問題があります。ほとんどのサイトでフォームを送信できますが、サイト私はとても幸運ではない。私が間違っていることがあるかどうかを特定することはできません。Node.js:リモートでフォームを送信する

これを行うより良い方法はありますか?

また、Express.jsのボディセーサーを使用してマルチパートフォームを処理するにはどうすればよいですか?

現時点ではこれは、私は、フォーム処理の方法で持っているもので、このです:私はあなたが達成しようとしている正確にわからないけど、https://github.com/felixge/node-formidableはとにかくある

function proxy(req, res,request) 
{ 

var sess = req.session; 

var onUrl_Parse = function(url){ 
     var Uri= new URI.URI(url);//Parses incoming url 
      var options = { 
       uri: url, 
       method: req.method 
      } 

       options.headers={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0", "Cookie":req.session.cook}; 



     if(req.body) //If x-www-form-urlencoded is posted. 
     { 
      var options = { 
       uri: url, 
       method: req.method, 
       body: req.rawBody 
      } 
       options.headers={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0", "Cookie":req.session.cook, "Content-Type":"application/x-www-form-urlencoded"}; 
     } 


    onRequestOptions(options, url); 
} 

,onRequestOptions = function(options, url) 
{  
    request(options, function(error, response, body) 
    {  
      if(!error){ 
        if(response.headers['set-cookie']) 
         req.session.cook=response.headers['set-cookie']; 
       Proxy_Parser.Parser(body, url, async, onParse);// Parses returned html return displayable content 
      } 

    }); 
} 

,onParse = function(HTML_BODY) 
    { 
     if(HTML_BODY=="") 
      res.end(); 
     res.write(HTML_BODY); 
     res.end(); 
     console.log("DONEEEEE"); 
    } 



Url_Parser.Url(req, URI, onUrl_Parse); 

}

答えて

0

お勧め!!

+0

私の答えが投票された理由を知りません。私が間違いを繰り返さないように理由が言及されていれば素晴らしいだろう。 –

0

私はnode-http-proxyのようなものから始めます。すべてのハードワークはあなたのために行われ、プロキシしたいルートを定義し、カスタム応答情報用のハンドラを入れるだけです。

+0

これは外部のウェブサイトへのリクエストを処理できますか? もしそうなら、例はありますか? – Trevor

+0

はい、2番目のサンプル*カスタムサーバーロジックを持つスタンドアロンプ​​ロキシサーバーをセットアップします*。それを指している場所のポートとURLを変更するだけです。 – hross

関連する問題