--- ---復元コンテンツ始まります
バックエンドサーバの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 / / $ {ホスト名}: `$ {ポート}) })
---終わり---コンテンツを復元