-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhttpclient.js
executable file
·119 lines (72 loc) · 2.23 KB
/
httpclient.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
var http=require('http');
var url = require('url')
var httpget = function ( url ) {
return new Promise(( resolve,reject)=>{
http.get( url ,function(req,res){
var html='';
req.on('data',function(data){
html+=data;
});
req.on('end',function(){
resolve(html);
});
req.on('error',function(err){
reject(err);
});
});
})
}
var httppostsimple = function (posturl,port,postData,username,passwd) {
var postDatastr=JSON.stringify(postData);
var urlObj = url.parse(posturl)
var p = username + ":" + passwd;
var b = new Buffer( p );
var cred = b.toString('base64');
var options={
hostname:urlObj.hostname,
port:port,
path: urlObj.pathname,
method:'POST',
headers:{
'Content-Type':'text/plain',
'Content-Length':Buffer.byteLength(postDatastr),
'Authorization': `Basic ${cred}`
}
}
return httppost(options,postDatastr);
}
var httppost = function (options,postData) {
/* var options={
hostname:'www.gongjuji.net',
port:80,
path:'/',
method:'POST',
headers:{
//'Content-Type':'application/x-www-form-urlencoded',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Content-Length':Buffer.byteLength(postData)
}
}*/
return new Promise(( resolve,reject)=>{
var buffers = [];
var req=http.request(options, function(res) {
res.on('data',function(reposebuffer){
buffers.push(reposebuffer);
});
res.on('end',function(){
//console.log('No more data in response.********');
var wholeData = Buffer.concat(buffers);
var dataStr = wholeData.toString('utf8');
resolve(dataStr)
});
res.on('error',function(err){
reject(err);
});
});
req.write(postData);
req.end();
})
}
exports.httpget = httpget;
exports.httppost =httppost;
exports.httppostsimple = httppostsimple;