Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
REMitchell
GitHub Repository: REMitchell/python-crawling
Path: blob/master/6-Selenium/phantomjs/examples/server.js
164 views
1
var page = require('webpage').create();
2
var server = require('webserver').create();
3
var system = require('system');
4
var host, port;
5
6
if (system.args.length !== 2) {
7
console.log('Usage: server.js <some port>');
8
phantom.exit(1);
9
} else {
10
port = system.args[1];
11
var listening = server.listen(port, function (request, response) {
12
console.log("GOT HTTP REQUEST");
13
console.log(JSON.stringify(request, null, 4));
14
15
// we set the headers here
16
response.statusCode = 200;
17
response.headers = {"Cache": "no-cache", "Content-Type": "text/html"};
18
// this is also possible:
19
response.setHeader("foo", "bar");
20
// now we write the body
21
// note: the headers above will now be sent implictly
22
response.write("<html><head><title>YES!</title></head>");
23
// note: writeBody can be called multiple times
24
response.write("<body><p>pretty cool :)</body></html>");
25
response.close();
26
});
27
if (!listening) {
28
console.log("could not create web server listening on port " + port);
29
phantom.exit();
30
}
31
var url = "http://localhost:" + port + "/foo/bar.php?asdf=true";
32
console.log("SENDING REQUEST TO:");
33
console.log(url);
34
page.open(url, function (status) {
35
if (status !== 'success') {
36
console.log('FAIL to load the address');
37
} else {
38
console.log("GOT REPLY FROM SERVER:");
39
console.log(page.content);
40
}
41
phantom.exit();
42
});
43
}
44
45