Node.jsのネイティブコードの静的サーバーを達成

--- ---復元コンテンツ始まります

バックエンドサーバの2つのタイプがあります。
1. Webサーバサーバ[静的]
- 例:wwwディレクトリ内のWAMP
- 目的は、ページの内容を表示することです
- フロントエンド:nginxの
2.アプリケーション・サーバー[APIサーバー]
- バックエンドインタフェース
- Tomcatの

何をしますか?
- 利用静的のNode.jsサーバーを達成するためのネイティブコード[なり]
HTTP =必要のconst( 'HTTP' 

のconstポート = 3000 

のconstホスト名 = 'localhost'の// 127.0.0.1 

http.createServer((リクエスト、レスポンス) => { 

response.writeHead( 200は、{
 '種類-コンテンツ': ' text / htmlの;のcharset = UTF8 ' // もし中国での出力内容、文字セットエンコーディング
})

のResponse.Write( 'こんにちは、Node.jsの

Response.Endの()

。})聞く(ポート、ホスト名、() => {
 // パラメーター:ポートリスナーコールバックのドメイン 
はconsole.log( `サーバーで実行すると、ATはhttp:// $ {ホスト名}:$ {}`ポート) 
})

爬虫類および出力データクロールと組み合わせて使用​​することができます

そして爬虫類、出力データがクロールと併せて使用することができる
  CONSTをHTTP =(「HTTP」必要

  CONSTポート = 3000  

  CONSTホスト名 =「localhostの」// 127.0.0.1 


  CONSTチェリオが必要(「チェリオ」= 

  CONSTオプション = { 
    ホスト名: 'jx.1000phone.net' 
    ポート: 80 
    パス: '/teacher.php/Class/classDetail/param/rqiWlsefmajGmqJhXXWhl3ZiZGZp' 
    方法: 'GET' 
    ヘッダー:{ 
      受け入れ:'テキスト/ HTML、アプリケーション/ XHTML + xmlの、アプリケーション/ XML、Q = 0.9、画像/ WEBP、画像/ APNG、* / *; Q = 0.8、アプリケーション/署名され交換; V = B3' 「受け入れエンコード': 'gzipで、収縮させる'  '言語を受け入れ': 'ZH ZH-CN、; qは= 0.9、EN-US; Q = 0.8、EN; Q = 0.7'  'のCache-Control':'キャッシュなし" 
      クッキー: 'PHPSESSID = ST-22290-Uo8KnobsTgDO-TrQvhjA4TfoJI4-izm5ejd5j1npj2pjc7i3v4z' 
      ホスト: 'jx.1000phone.net' 
      プラグマ: 'キャッシュなし'  'プロキシ接続': 'キープアライブ' 
      リファラー: 'http://jx.1000phone.net/teacher.php/Class/index' 'アップグレード・安全でない-要求を':1 'ユーザーエージェント': 'のMozilla / 5.0(Windows NTの10.0; Win64の、x64の)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 76.0.3809.100サファリ/ 537.36'  'Content-Typeの':「アプリケーション/ X- WWW-form-urlencodedで」 'のContent-Length':0 
    } 
  }。


  http.createServer((リクエスト、レスポンス) => { 

    response.writeHead( 200 、{
       'のContent-Type': 'text / htmlの;のcharset = UTF8' 
    })

    CONST REQ = http.get(オプション、(RES)=> { 
      CONST {からstatusCode} =の解像度;   // 获取状态码1XX -の5xx 
      のconstのcontentType = res.headersを[」コンテンツタイプ ']; //ファイルタイプのテキスト/ JSON / HTML / XML 
    
      res.setEncoding( 'UTF8'); // 文字エンコーディング
    
      // コア-起動し 
      てみましょうRAWDATAは= ''と
      res.on( 'データ'、(チャンク)=> + {RAWDATAチャンク=;}); // データ登録 
      res.on( '終了'、()=> { // 終了データ取得
        試行{ 
    
          CONSTの$ = cheerio.load(生データ)
    
          $を(それぞれ'td.studentのA')。 (関数(項目){ 
            のResponse.Write( ` <H3> $ {$(この)の.text()} </ H3>`)
           })
          Response.Endの()
        }キャッチ(E){ 
          console.error(e.message); 
        } 
      }); 
    
      // コア-終了 
    。( 'エラー' ON})、(E)=> { 
      console.error( `ガットエラー:$ {E } `.message); 
    }); 
    
    
    req.end()

  })(リスンポート、ホスト名、() => {
     // パラメータ:ポートリスナーコールバックドメイン 
    HTTP:にconsole.logは(`サーバで動作するAT IS / / $ {ホスト名}: `$ {ポート}) 
  })

 

---終わり---コンテンツを復元

おすすめ

転載: www.cnblogs.com/zhaoqianguo/p/11446662.html