iT邦幫忙

0

node 抓取完整網址

請問各位前被,node有辦法抓取整串完整網紙嗎,該怎麼抓呢
ex:http://127.0.0.1:5958/i1000/FirstPassYield?directoryPath=22333222233
從http抓取到22333222233
目前我使用REST API抓取,但好像只能認到斜線,問號後都無法截取
請各位前輩能教教我,謝謝

2 個回答

0
黃彥儒
iT邦高手 1 級 ‧ 2018-05-07 13:27:52
dance0531 iT邦新手 5 級 ‧ 2018-05-07 13:45:19 檢舉

https://ithelp.ithome.com.tw/upload/images/20180507/20109634FtAwhXAiEx.png

請問前輩,我回傳的feeback變數值就是只有/i1000/FirstPassYield
我該怎麼做才能整串抓取

fillano iT邦超人 1 級 ‧ 2018-05-07 15:21:43 檢舉

一個簡單的HTTP GET Request長這樣:

GET /docs/4.0/getting-started/build-tools/ HTTP/1.1
Host: getbootstrap.com
...

Host其實是Request標頭之一,你在瀏覽器輸入的網址,跟HTTP協定運作的方式並不完全一樣的。所以req.url只給你GET後面那一段path,因為其他理論上你應該知道...所以自己把它湊起來吧。

0
marlin12
iT邦新手 2 級 ‧ 2018-05-07 19:10:30

url.parse不是已經幫你把整個url拆解出來嗎?為何你不去Node.js API文檔看看url模組怎麽用?

var http = require('http');
var url = require('url');

http.createServer(function (req, res) {
  	var urlObj = url.parse(req.url, true);  //拆解url

  	console.log('path + query = ' + urlObj.path);  //讀取整個url (path + query)
  	console.log('path = ' + urlObj.pathname);      //讀取path部份
  	console.log('query = ' + urlObj.search);       //讀取query部份

	console.log('directoryPath = ' + urlObj.query.directoryPath);  //讀取某個query key的value

  	console.dir(urlObj, {depth: null});  //列出整個拆解後的url物件
	console.dir(urlObj.query, {depth: null});  //列出整個拆解後的query物件

  	res.writeHead(200, { 'Content-Type': 'text/plain' });
  	res.end('Hello world.');
}).listen(5958);

我要發表回答

立即登入回答