Code:
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
#include <string.h>
#include <winsock.h>
using namespace std;
void stopic (void);
char* cauth (char*);
void dSend (int D2JSP, char* request) {
if (send(D2JSP, request, strlen(request), 0) == INVALID_SOCKET) {
cout<<"Failed to send request to D2JSP... " << WSAGetLastError() << endl;
shutdown(D2JSP, 2); closesocket(D2JSP); WSACleanup();
}
cout<< request << endl;
}
int main()
{
WSADATA WsaDat;
SOCKET D2JSP;
sockaddr_in D2;
hostent* dHost;
char *dIP, dRecv, *request, dbuf[512];
unsigned short dline = 0;
request = "GET /index.php?showforum=168 HTTP/1.1\r\nHost: forums.d2jsp.org\r\n\r\n";
if (WSAStartup(MAKEWORD(2, 0), &WsaDat) != 0) {
cout<<"WSAStartup failed to initalize...\n";
}
D2JSP = socket(AF_INET, SOCK_STREAM, 0);
if (D2JSP == INVALID_SOCKET) {
cout<<"Failed to make D2JSP socket... " << WSAGetLastError() << endl;
WSACleanup();
}
dHost = gethostbyname("forums.d2jsp.org");
dIP = inet_ntoa (*(in_addr*) dHost->h_addr);
D2.sin_family = AF_INET;
D2.sin_addr.s_addr = inet_addr (dIP);
D2.sin_port = htons (80);
if (connect(D2JSP, (sockaddr*) &D2, sizeof(D2)) == INVALID_SOCKET) {
cout<<"Failed to connect to D2JSP socket... " << WSAGetLastError() << endl;
shutdown(D2JSP, 2); closesocket(D2JSP); WSACleanup();
}
dSend(D2JSP, request);
dRecv = recv(D2JSP, dbuf, 512, 0);
if (dRecv == INVALID_SOCKET) {
cout<<"Failed to recieve data through D2JSP... " << WSAGetLastError() << endl;
shutdown(D2JSP, 2); closesocket(D2JSP); WSACleanup();
}
ofstream dparse ("d2jsp.txt");
for (;recv(D2JSP, dbuf, 512, 0) > 0;) {
if (dparse.is_open()) { dparse << dbuf; }
}
dparse.close();
shutdown(D2JSP, 2); closesocket(D2JSP); WSACleanup();
system("pause");
return 0;
}