c Get方式請求網路介面

2021-07-30 10:41:33 字數 2542 閱讀 7627

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

/**功能: [fgeturl] c語言訪問url 

* 引數: url:位址  nport:位址的埠

* 返回值: 0:成功 -1:失敗

* 備註:埠注意 預設的都是80

*/#define bufsize 0xf000

int fgeturl(char* url,int nport, char *presult)elseelse

}//將主機資訊儲存到host中

//此處將它置零,即它所指向的內容裡面已經分離出了相對路徑,剩下的為host信

//息(從myurl到phost位址段存放的是host)

*phost = '\0';

strcpy(host,myurl);

//設定socket引數

if(-1 == (cfd = socket(af_inet,sock_stream,0)))

purl = gethostbyname(host);//將上面獲得的主機資訊通過網域名稱解析函式獲得域》名資訊

//設定ip位址結構

bzero(&cadd,sizeof(struct sockaddr_in));

cadd.sin_family = af_inet;

cadd.sin_addr.s_addr = *((unsigned long*)purl->h_addr_list[0]);

cadd.sin_port = htons(nport);

//向web伺服器傳送url資訊

memset(request,0,bufsize);

strcat(request,"get ");

strcat(request,get);

strcat(request," http/1.1\r\n");//至此為http請求行的資訊

strcat(request,"host: ");

strcat(request,host);

strcat(request,"\r\n");

strcat(request,"cache-control: no-cache\r\n\r\n");

printf("*****= host:%s, get:%s *****=\n", host,get);

//連線伺服器

int cc;

if(-1 == (cc = connect(cfd,(struct sockaddr*)&cadd,(socklen_t)sizeof(cadd))))

printf("connect success!\n");

//向伺服器傳送url請求的request

int cs;

if(-1 == (cs = send(cfd,request,strlen(request),0)))

printf("傳送成功,傳送的位元組數:%d\n",cs);

//客戶端接收伺服器的返回資訊

memset(text,0,bufsize);

int cr;

if(-1 == (cr = recv(cfd,text,bufsize,0)))else

close(cfd);}/*

* 執行系統命令並獲取命令的返回結果

*/bool fsystemcmd(const char *scmd,char *sresult);

long fgetlocalhostip()}}

close (fd);

}return ip;

}void fgetfiletowcontent(const char * ppath, char *sresult)

/**功能: 註冊和更新伺服器資訊

*引數: sserialnumber:序列號  ninterval:間隔時間 預設為5分鐘

*/void fregisterandupdate(char *sserialnumber, int ninterval=5)

void fforeverrun()"))

//~ strcpy(sresult,strstr( sresult, "\"interval\":"));

//~ sscanf(sresult, "\"interval\":\"%d\"", &ninterval);

//~ sleep(ninterval*60);

//~ printf("time:%ld,interval:%d\n", time(0), ninterval);

//~ 

//~ fregisterandupdate(sserialnumber, ninterval);

///更新

//~ }

}int main(int argc,char* argv)

網路請求介面封裝方式

最近需要給別人做sdk,所以很多需要封裝的介面,網路請求的。這個需求是type不能暴露在方法裡面,但是上傳伺服器必須要有type這個引數。public class letvplayservicebusiness implements imultipublicbusiness 收藏列表 獲取全部作品列...

網路請求的方式

網路請求的兩種方式 1.get 是獲取指定的url上的資源 1 不安全不會將使用者的資訊暴露在url中 2 傳輸數量小,主要是因為url的長度有限 3 將資料按照variable value的形式,新增到action所指向的url後面,並且兩者使用 連線,各個變數之間使用 連線。2.post 對指定...

python mock介面 ,網路請求2

使用模組 flask 為什麼用,為了本地寫一些介面使用psotman一些工具測試 import flask 輕量級的web開發框架 import tools import json import datetime import time server flask.flask name server....