文本内容:
〃对NTRIP的用户名和密码加密的码表static const char encodingTable
[64]={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,WX,Y,Z,a,b,c,d,e,f,,,,•,,•,,,,,,,,,,,,,,,,工,1,,,,g,h,i,j,k,1,m,n,o,p,q,r,s,t,u,v,,w,,,x,,,y,,,z,,,0,,,],,,2,,,3,,,4,,,5,,,6,,,7,,,8,,,9,,,+,,,/,};〃对NTRIP的用户名和密码加密的函数static intencodechar*buf,int size,const char*user,constchar*pwd unsignedchar inbuf
[3];char*out=buf;int i,sep=0,fill=0,bytes=0;while*user|*pwd i=0;whilei3*user inbuf[i++]=*user++;ifi3!sep{inbuf[i++]=;++sep;}whilei3*pwd inbuf[i++]=*pwd++;whilei3{inbuf[i++]=0;++fill;}ifout-bufsize-1*out++=encodingTable[inbuf
[0]OxFC2];ifout-bufsize-1*out++=encodingTable[inbuf
[0]0x034|inbuf
[1]OxFO»4];ifout-bufsize-1iffill==2*out++二,=,;else*out++=encodingTable[inbuf
[1]OxOF2|inbuf
[2]OxCO»6];ifout-bufsize-1iffill=1*out++=,=,;else*out++=encodingTable[inbuf
[2]0x3F];bytes+=4;if out-bufsize*out=0;return bytes;〃NTRIP连接的函数uint8_t ntripconnectuint8_t id,NTRIP_INFO*cliinfo{int i=0,ent=0;char buff
[1000]={0};uint8_t*ret=0;uint8_t buffCmdElOO];memsetbuffCmd,0,100;〃打包NTRIP的验证数据包包括挂载点代理版NTRIP版本RTKLIB用的是RTK和RTK
2.3i=snprintfbuff,MAXDATASIZE-40,/*leave somespace forlogin*/〃GET/%s HTTP/
1.0\r\nz,“User-Agent:%s/%s\r\n〃Authorization:Basic〃,cli_info-mountp,cli_info-agent,cli_info-ntripv;ifiMAXDATASIZE-40|i0/*second checkfor oldglibc*/*ret=0;return*ret;i十二encodebuff+i,MAXDATASIZE-i-4,cli_info-usr,cli_info-passwd;ifi MAXDATASIZE-4*ret=0;return*ret;buff[i++]=\r;buff[i++]=\n;buff[i++]-\r;buff[i++]=J\n;GPRS writeid,uint8_t*buff,i;fori=0;i24;i++ent=GPRS_readid,uint8_t*buff,512;ret=ck ACKr,z2000K〃,6,1,uint8_t*buff,ent;〃检测正确应答ifNULL!=retreturn2;return0;。
个人认证
优秀文档
获得点赞 0