|
自己写了一个get 请求函数
函数如下:
- int get(const char* host, const char* referer, const char* api, const char* parameters)
- {
- WSADATA WsaData;
- WSAStartup(0x0101, &WsaData);
- //初始化socket
- struct hostent* host_addr = gethostbyname(host);
- if (host_addr == NULL)
- {
- return -103;
- }
- sockaddr_in sin;
- sin.sin_family = AF_INET;
- sin.sin_port = htons((unsigned short)80);
- sin.sin_addr.s_addr = *((int*)*host_addr->h_addr_list);
- int sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock == -1)
- {
- return -100;
- }
- //建立连接
- if (connect(sock, (const struct sockaddr *)&sin, sizeof(sockaddr_in)) == -1)
- {
- return -101;
- }
- //初始化发送信息
- char zj_send_str[2048] = { 0 };
- char zj_content_referer[100];
- //头信息
- strcat_s(zj_send_str, "GET ");
- strcat_s(zj_send_str, api);
- strcat_s(zj_send_str, " HTTP/1.1\r\n");
- strcat_s(zj_send_str, "Host: ");
- strcat_s(zj_send_str, host);
- strcat_s(zj_send_str, "\r\n");
- sprintf_s(zj_content_referer, "Referer: %s\r\n", referer);
- strcat_s(zj_send_str, zj_content_referer);
- strcat_s(zj_send_str, "Connection: keep-alive\r\n");
- strcat_s(zj_send_str, "Accept-Encoding: gzip, deflate\r\n");
- strcat_s(zj_send_str, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
- strcat_s(zj_send_str, "Accept-Language: zh-cn\r\n");
- //内容信息
- strcat_s(zj_send_str, "\r\n");
- strcat_s(zj_send_str, parameters);
- strcat_s(zj_send_str, "\r\n");
- strcat_s(zj_send_str, "Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n");
- strcat_s(zj_send_str, "Connection: keep-alive\r\n");
- strcat_s(zj_send_str, "Cache-Control: max-age=0\r\n");
- strcat_s(zj_send_str, "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69
- Safari/601.1\r\n");
- if (send(sock, zj_send_str, strlen(zj_send_str), 0) == -1)
- {
- return -101;
- }
- //获取返回信息
- memset(recv_str, 0, RECE_DATA_SIZE);
- int sum = recv(sock, recv_str, RECE_DATA_SIZE, 0);
- if (sum == -1)
- {
- return -101;
- }
- WSACleanup();
- return 0;
- }
复制代码
调用如下:
- ret = get("qianxiaoka.com", "http://qianxiaoka.com/main/index.html", "/quicktask/index.html","PHPSESSID=070htvaq285342e37rcsuh5du5; qxk_activecode=15636;
- qxk_idfa=09C0CC60-50ED-470F-8362-931AFE4D5B36");
复制代码
返回数据是:
HTTP/1.1 302 Moved
正常情况应该返回:
HTTP/1.1 200 OK
请问大家这个问题出在哪里???
|
上一篇: 类导出函数名字改编下一篇: error2019:IcmpCreateFile和IcmpSendEcho
|