Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void followURL( SOCKET sock, char* msg, char* sender, char* sendTo, bool appension )
- {
- char url[1000];
- //char* tSTR = "api.bitly.com/v3/expand?login=aslai&apiKey=R_8ea3e4af02d6c4ee6242a8ea7c9aba9b&shortUrl=http%3A%2F%2Fbit.ly%2F";
- sprintf( url, msg );
- char newurl[2000];
- memcpy( newurl, url, strlen( url ) + 1 );
- int slashPos;
- for( slashPos = 0; newurl[slashPos] != '/' && newurl[slashPos] != 0; slashPos ++ );
- newurl[slashPos] = 0;
- char* sel = (char*) malloc( strlen( url ) - slashPos + 1 );
- sel[0] = '/';
- memcpy( sel + 1, newurl + 1 + slashPos, 1 + strlen( newurl + 1 + slashPos ) );
- unsigned long myhost = resolveAddr( newurl, 2 );
- SOCKET addr = connectTCP(myhost, 80);
- if( addr == 0 ) {free(newurl); free(sel); return;}
- char packetSend[3000];
- sprintf( packetSend, "GET %s HTTP/1.1\r\nHost: %s\r\nUser-Agent: Aslai-lol\r\n\r\n", sel, newurl );
- send( addr, packetSend, strlen( packetSend ), 0 );
- char iobuf[10] = {0,0,0,0,0,0,0,0,0,0};
- char toSend[9900];
- int writePos = 0;
- int kk;
- char bufa[500];
- int bufpos = 0;
- if( !appension )
- bufpos = sprintf( bufa, "Expanded: " );
- else
- bufpos = sprintf( bufa, " " );
- int trk = 0;
- while( true ){
- recvb(addr, iobuf, 1, 0);
- if( ( (trk == 0 || trk == 2) && iobuf[0] == '\r' ) || ( (trk == 1 || trk == 3) && iobuf[0] == '\n' ) )
- trk++;
- else trk = 0;
- if ( trk == 4 )
- {
- sendMsg( sock, "PRIVMSG %s :Unexpected end of header.", sendTo );
- return;
- }
- int h = 0;
- while( ("Location: ")[h] == iobuf[0] )
- {
- recvb(addr, iobuf, 1, 0);
- h ++;
- }
- if( h == 10 )
- {
- h = 0;
- //recvb(addr, iobuf, 1, 0);
- while( iobuf[0] != '\r' ){
- toSend[writePos++] = iobuf[0];
- recvb(addr, iobuf, 1, 0);
- }
- toSend[writePos++] = 0;
- if( check( sock, toSend, sender, sendTo, true ) == false )
- sendMsg( sock, "PRIVMSG %s :Expanded: %s", sendTo, toSend );
- return;
- }
- h = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment