nodejs 실제 예 약어 Restoration_javascript 기술
아이디어는 매우 간단합니다.
1. httpserver는 복원해야 하는 URL을 가져옵니다.
2. http 상태가 (302, 301)에 없을 때까지 httpclient를 사용하여 이 URL을 반복적으로 요청합니다.
3. 복원된 원본 URL로 돌아갑니다.
알겠습니다. 코드는 다음과 같습니다.
var net = require('net'),
http = require('http'),
url = require('url'),
fs = require('fs' );
var DEFAULT_PORTS = {
'http:': 80,
'https:': 443
}
var INDEX_TPL = fs.readFileSync('index.html');
function _write( str, res, content_type) {
if(res.jsonp_cb) {
str = res.jsonp_cb '("' str '")'
}
res. writeHead(200, {
'Content-Length': str.length,
'Content-Type': content_type || 'text/plain'
})
res.end(str) ;
};
function Expand(short_url, res) {
var info = url.parse(short_url)
// console.log('info: ' JSON.stringify(info)) ;
if( info.protocol != 'http:') { // https URL을 요청할 수 없나요?
_write(short_url, res)
return; http.createClient(info.port || DEFAULT_PORTS[info.protocol], info.hostname)
var path = info.pathname || '/'
if(info.search) {
경로 = info.search;
}
var headers = {
host: info.hostname,
'User-Agent': 'NodejsSpider/1.0'
}var request = client.request('GET', 경로, 헤더);
request.end();
request.on('response', function (response) {
if(response.statusCode == 302 | | response.statusCode == 301) {
expand(response.headers.location, res)
} else {
_write(short_url, res)
}
}; 🎜>};
//expand('http://sinaurl.cn/hbMUII')
// http 서비스
http.createServer(function(req, res){
if( req.url.indexOf( '/api?') == 0) {
var params = url.parse(req.url, true)
if(params.query && params.query.u) {
if(params .query.cb) { // jsonp 도메인 간 요청 지원
res.jsonp_cb = params.query.cb;
}
expand(params.query.u, res) ;
} else {
_write('', res)
}
} else {
_write(INDEX_TPL, res, 'text/html')
}).listen(1235 );
process.on('uncaughtException', function (err) {
console.log('발견된 예외: ' err);
}); 🎜>
웹 서버 시작:
$ node urlexpand.js
브라우저를 열어 직접 액세스:
http://127.0.0.1:1235/api?u=http://is .gd/imWyT
또는 내 테스트 서버를 방문하세요:
http://yongwo.de:1235/api?u=http://is.gd/imWyT&cb=foo

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Node.js와 Tomcat의 주요 차이점은 다음과 같습니다. 런타임: Node.js는 JavaScript 런타임을 기반으로 하는 반면 Tomcat은 Java Servlet 컨테이너입니다. I/O 모델: Node.js는 비동기식 비차단 모델을 사용하는 반면 Tomcat은 동기식 차단 모델을 사용합니다. 동시성 처리: Node.js는 이벤트 루프를 통해 동시성을 처리하는 반면 Tomcat은 스레드 풀을 사용합니다. 애플리케이션 시나리오: Node.js는 실시간, 데이터 집약적, 동시성 애플리케이션에 적합하고 Tomcat은 기존 Java 웹 애플리케이션에 적합합니다.

Node.js는 서버측 JavaScript 런타임인 반면, Vue.js는 대화형 사용자 인터페이스를 생성하기 위한 클라이언트측 JavaScript 프레임워크입니다. Node.js는 백엔드 서비스 API 개발, 데이터 처리 등 서버 측 개발에 사용되고, Vue.js는 단일 페이지 애플리케이션, 반응형 사용자 인터페이스 등 클라이언트 측 개발에 사용됩니다.

Node.js는 고성능, 확장성, 크로스 플랫폼 지원, 풍부한 생태계, 개발 용이성 등의 기능을 제공하므로 백엔드 프레임워크로 사용할 수 있습니다.

예, Node.js는 백엔드 개발 언어입니다. 서버 측 비즈니스 로직 처리, 데이터베이스 연결 관리, API 제공 등 백엔드 개발에 사용됩니다.

Node.js 설치 디렉터리에는 npm과 npm.cmd라는 두 가지 npm 관련 파일이 있습니다. 차이점은 다음과 같습니다. 확장자가 다릅니다. npm은 실행 파일이고 npm.cmd는 명령 창 바로 가기입니다. Windows 사용자: npm.cmd는 명령 프롬프트에서 사용할 수 있으며, npm은 명령줄에서만 실행할 수 있습니다. 호환성: npm.cmd는 Windows 시스템에만 해당되며 npm은 크로스 플랫폼에서 사용할 수 있습니다. 사용 권장사항: Windows 사용자는 npm.cmd를 사용하고, 기타 운영 체제는 npm을 사용합니다.

Node.js에는 다음과 같은 전역 변수가 존재합니다. 전역 개체: 전역 핵심 모듈: 프로세스, 콘솔, 필수 런타임 환경 변수: __dirname, __filename, __line, __column 상수: undefine, null, NaN, Infinity, -Infinity

Node.js와 Java의 주요 차이점은 디자인과 기능입니다. 이벤트 중심 대 스레드 중심: Node.js는 이벤트 중심이고 Java는 스레드 중심입니다. 단일 스레드 대 다중 스레드: Node.js는 단일 스레드 이벤트 루프를 사용하고 Java는 다중 스레드 아키텍처를 사용합니다. 런타임 환경: Node.js는 V8 JavaScript 엔진에서 실행되는 반면 Java는 JVM에서 실행됩니다. 구문: Node.js는 JavaScript 구문을 사용하고 Java는 Java 구문을 사용합니다. 목적: Node.js는 I/O 집약적인 작업에 적합한 반면, Java는 대규모 엔터프라이즈 애플리케이션에 적합합니다.

Node.js와 Java는 각각 웹 개발에 장단점이 있으며 선택은 프로젝트 요구 사항에 따라 다릅니다. Node.js는 실시간 애플리케이션, 신속한 개발 및 마이크로서비스 아키텍처에 탁월한 반면, Java는 엔터프라이즈급 지원, 성능 및 보안에 탁월합니다.
