亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3001 | 回復(fù): 1
打印 上一主題 下一主題

抓取網(wǎng)頁后如何解析中文? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-10-23 22:27 |只看該作者 |倒序瀏覽
本帖最后由 suhuadong110 于 2011-10-23 22:33 編輯

我用的是ubuntu,通過c語言,發(fā)送request,獲得了response,我直接用printf打印,發(fā)現(xiàn)中文解析不了,我該如何解決呢?


代碼:

int main(int argc, char* argv)
{
        int sockfd;
        struct sockaddr_in server_addr;
        uint16_t port = 80;
        char sndBuf[1024] = {0};
        char buffer[5000];

        sockfd = socket(AF_INET, SOCK_STREAM, 0);
        if(sockfd < 0)
        {
                printf("socket fail\n");
                exit(1);
        }
        else
        {
                printf("socket ok\n");
        }


        bzero(&server_addr, sizeof(server_addr));
        server_addr.sin_family = AF_INET;
        server_addr.sin_port = htons(port);
        server_addr.sin_addr.s_addr = inet_addr("180.149.131.31");


//請求報頭
        sprintf(sndBuf, "GET /index.html HTTP/1.1\r\n");

        int len = strlen(sndBuf);
        sprintf(sndBuf + len, "Accept: text/html\r\n");

        len = strlen(sndBuf);
        sprintf(sndBuf + len, "Accept-Language: zh-cn\r\n");

        len = strlen(sndBuf);
        sprintf(sndBuf + len, "Accept-Charset: UTF-8,*\r\n");


        len = strlen(sndBuf);
        sprintf(sndBuf + len, "Host: www.hao123.com\r\n\r\n");
//鏈接服務(wù)器,讀response到buff,之后打印buffer的內(nèi)容
        int con_res = connect(sockfd, (struct sockaddr*)&server_addr, sizeof(struct sockaddr));
        if(con_res == 0)
        {
                printf("鏈接成功\n");
               
                int w_res = write(sockfd, sndBuf, sizeof(sndBuf));
                if(w_res == -1)
                {
                        printf("write fail\n");
                }
                else
                {
                        printf("write ok\n");
                }
                int size = read(sockfd, buffer, 5000);
                if(size == -1)
                {
                        printf("read fail\n");
                }
                else
                {
                        printf("read ok\n");
                }

                printf("read form server data length = %d\n", size);
                printf("%s\n", buffer);

        }
        else
        {

                printf("connect faile\n");
        }

        return 0;
}

運行結(jié)果:

HTTP/1.1 200 OK

.........

<meta name="ROBOTS" content="NOODP">
<meta name="description" content="hao123

之后有中文亂碼

論壇徽章:
95
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報告]
發(fā)表于 2011-10-23 22:44 |只看該作者
回復(fù) 1# suhuadong110


    你難道不知有「字符編碼」這麼個概念?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP