Здравствуйте.Писал на делфи,решил перейти на с++ , с синтаксисом разобрался,и в принципе всякую декстопную штуку я пишу. Хочу научиться работать с сетью.В гугле есть огромные малопонятные примеры работы с сетью в с++(и то компилятор vc++ вечно орет). Напишите пожалуйста удобный маленький пример отправки POST/GET запросов(что бы работало в среде VC++ 2010). Или скиньте проект. Большое спасибо.
Вот пример, сразу с циклом, и с выборкой значения. Код не грамотный - но поможет понять основы. PHP: #include <iostream> #include <clocale> #include <stdio.h> #include <windows.h> #include <winsock.h> #pragma comment(lib,"wsock32.lib") using namespace std; int main() { setlocale( LC_ALL, "Russian"); long nid, mid; cout << "Введите начальный ID:"; cin >> nid; cout << "Введите конечный ID:"; cin >> mid; //----------------------------------------------- for (;nid<mid;nid++) { SOCKET sock; sockaddr_in SockAddr; WSADATA WSAData; WSAStartup(MAKEWORD(2,2), &WSAData); sock=socket(AF_INET,SOCK_STREAM,0); SockAddr.sin_family=AF_INET; SockAddr.sin_addr.S_un.S_addr=inet_addr("91.202.63.66"); SockAddr.sin_port=htons(80); connect(sock,(struct sockaddr *)&SockAddr,sizeof(SockAddr)); char a[200]; sprintf(a, "GET /member.php?u=%d HTTP/1.1\r\nhost: forum.antichat.ru\r\nConnection: close\r\n\r\n", nid); int d=10; char b[300]; send(sock,a,sizeof(a),0); for (int i=0;i<3;i++) { d=recv(sock,b,sizeof(b),0); } closesocket(sock); string s = b; for (int g=0;g<300;g++) { if (b[g] == 'и' && b[g+1] == 'л' && b[g+2] == 'я' && b[g+3] == ':' && b[g+4] == ' ') { for (int gv1=0;gv1<25;gv1++) { if (b[g+5+gv1]=='<') break; else cout << b[g+5+gv1]; } cout << "\r\n"; break; } } } cout << "\r\n\r\nВыполнение программы заверешено . . . "; getchar(); }
Что хочешь то и юзай, самое распространеное: 1) Winsock - сам конется, сам отсылай запрос, сам парси ответ 2) WinInet - стандартная виндовая либа для работы с HTTP (SSL/TLS) и FTP. Всё описание есть на MSDN 3) Lib Curl - примеров дофига.