跨平台http位址解析

2021-10-25 15:08:06 字數 1189 閱讀 9918

有時候會遇到需要解析http位址中的ip位址,埠和後面的介面,windows有現成的函式可以解析,linux也有庫能解析,不過就是為了這麼個小功能帶乙個庫有點殺雞牛刀了。

我們需求很簡單就是解析出ip和埠以及後面的介面字串而已,不多說,直接上乾貨

//定**析結果的結構體

typedef struct urlitem

;//解析url urlin為http的url位址 out結果結構體 其實也可以解析出附帶引數什麼的,自己根據需要改改,舉一反三

bool urlparse(std::string urlin, urlitem & out)

// 分析query以 & 分割引數對,以=分割 k-v

lastpos = 0;

for (i = 0; i < out.query.length(); i++)

lastpos = i + 1;}}

temp = out.query.substr(lastpos);

pos = temp.find('=', 0);

if (pos >= 0)

lastpos = 0;

idx = 0;

for (i = 0; i < out.fullpath.length(); i++)

}out.prot = childs[0];

out.port = 80;

std::string fullpath = out.fullpath.substr(out.prot.length() + 3);

pos = fullpath.find('/');

if (pos >= 0) else if (pos = fullpath.find('\\') >= 0)

pos = out.host.find(':');

if (pos >= 0)

pos = out.path.rfind('/');

if (pos >= 0) else if (pos = out.path.rfind('\\') >= 0)

struct hostent *hptr;

char **pptr;

if ((hptr = gethostbyname(out.host.c_str())) != 0)

break;

default:

break;}}

return ret;

}

APICloud深度解析App跨平台開發技術分類

混合開發技術是目前移動開發領域的焦點技術,也是apicloud企業網際網路化生態平台的程式設計客棧核心技術,本文在介紹跨平台技術分類同時將進一步深度揭示apicloud混合開發技術的技術原理。跨平台技術的分類 目前跨平台技術領域分為兩個發展方向 第乙個是html5 native混合方向 第二個是中間...

跨平台相關

二者區別 strdup是posix,strdup是windows特定。在unix上,使用的strdup。在不同作業系統的lib庫名字不同的,為了讓程式可以多平台,需要在巨集定義中判斷當前執行作業系統和編譯器的型別,動態調整。windows win32 win32 linux linux linux ...

跨平台工具

作圖 做好圖 inkspace 向量圖 inpaint 提供類似 photoshop 的基礎功能,簡單易用 imagemagick pdf 處理 1.small pdf 2.i love pdf 編輯器1.sublime text 2.typora markdown 3.texmaker latex...