?? http_main.cpp
字號:
#include "CSocket.h"#include <fstream>int main(){ string word; string filename; string hostname; int pos1 = 0; int pos2 = 0; cout << "enter the host name" << endl; cin >> word; //bulid the query for http string quest = "GET "; quest += word; quest += " HTTP/1.0\r\n"; quest += "User-agent:Mozilla/4.0\r\n"; quest += "Accept-language:zh-cn\r\n\r\n"; //get the hostname and filename from the word string str_http = "http://"; pos1 = word.find_first_of (str_http, 0); pos2 = word.find_first_of ("/", pos1+7); hostname = word.substr( pos1+7, pos2-pos1-7 ); pos1 = word.find_last_of( "/", word.size() ); filename = word.substr( pos1+1, word.size()-pos1-1 ); cout << "filename: " << filename << endl; cout << "hostname: " << hostname << endl; //use the hostname and port 80 to connect Sock_instance s_client( hostname, 80, CLIENT_TYPE ); if( !s_client.Connect() ) { cout << "connect error" << endl; return -1; } //send the http query to the host cout << "connect is ok!" << endl; if( !s_client.Send(quest) ) { cout << "send is error!" << endl; return -1; } //recieve all the file from the hsot while( s_client.Receive() > 0 ) { } //write the binary data which is recieved on the file FILE *fp = fopen( filename.c_str(), "wb" ); fwrite( s_client.data(), sizeof( unsigned char ), s_client.datalen(), fp ); fclose( fp ); return 0;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -