linux-Linux c socket抓取网页保存到文件一直是乱码

问题描述

Linux c socket抓取网页保存到文件一直是乱码
如题,建立连接后发送请求后,保存到文件的代码如下:

    while(recvSize=recv(sockfdrecvBufBUF_SIZE0)>0){        fwrite(recvBufsizeof(char)strlen(recvBuf)fp);        printf(""%s""recvBuf);        memset(recvBuf0sizeof(recvBuf));    }

网页可以在终端上正常显示,但是这样保存到文件后打开就提示文件打开出错,包含无效字符。。。。

解决方案

strlen遇到就返回了,所以计算的值不一定准确啊

解决方案二:
试试fwrite前加上
recvBuf[recvSize] = '';

解决方案三:
strlen(recvBuf)计算字符串长度是不对的

解决方案四:
fwrite(recvBufsizeof(char)recvSizefp)
打16进制出来看

时间: 2024-10-03 18:00:38

linux-Linux c socket抓取网页保存到文件一直是乱码的相关文章

关于java 使用 socket 抓取网页的问题。

问题描述 学校布置了一个大作业,是用javasocket做一个简单的浏览器,需要自己抓取HTML代码然后自己去解析HTML的标签,在做的过程中需要用GET的方法去发送HTTPHEADER,然后得到响应,现在有几个问题:1.有些是HTTP1.0有些是HTTP1.1这个头文件怎么设置才能得到正确的回应2,我在尝试链接GOOGLE的时候,返回的是302FOUND,我输入的地址是www.google.com,期中返回的头文件里有个LOCATION:www.google.co.uk,然后我直接输入www.

php抓取网页

用php抓取页面的内容在实际的开发当中是非常有用的,如作一个简单的内容采集器,提取网页中的部分内容等等,抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,以下就是几种常用的用php抓取网页中的内容的方法. 1.file_get_contents PHP代码 <?php $url = "http://www.phpzixue.cn"; $contents = file_get_contents($url); //如果出现中文乱码使用下面代码 //$getcontent =

PHP的cURL库功能简介:抓取网页,POST数据及其他

  使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库. 启用 cURL 设置 首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息. ﹤?php phpinfo(); ?﹥ 如果你可以在网

PHP的cURL库功能简介 抓取网页、POST数据及其他_php技巧

无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,反应釜cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库. 启用 cURL 设置 首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息. 复制代码 代码如下: <?php phpinfo(); ?> 如果你可以在网页上看到下面的输出,那么表示cURL库已被开启. 如果你看到的话,那么你需要设置你的PHP并开启这个库.如果你是在

php cURL 抓取网页 POST数据及其他

使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库教程,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库. 启用 cURL 设置 首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php教程_info()函数来得到这一信息. <?php phpinfo(); ?> 如果你可

PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)_php技巧

通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便大笑),curl_setopt 是PHP的一个扩展库      使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2)        //取消下面的注释 extension=php_curl.dll 在Linux下面,需要重新编译PHP了,编译时,你需要打开编译参数--在configure命令上加上"–with-curl" 参数. 1. 一个抓取网页的简单案例: [php] view pla

cURL抓取网页 POST数据及其他功能介绍

使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库.本文主要讲述如果使用这个PHP库. 启用 cURL 设置 首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息. <?php phpinfo(); ?> 如果你可以在网页

PHP抓取网页、解析HTML常用的方法总结

  这篇文章主要介绍了PHP抓取网页.解析HTML常用的方法总结,本文只是对可以实现这两个需求的方法作了总结,只介绍方法,不介绍如何实现,需要的朋友可以参考下 概述 爬虫是我们在做程序时经常会遇到的一种功能.PHP有许多开源的爬虫工具,如snoopy,这些开源的爬虫工具,通常能帮我们完成大部分功能,但是在某种情况下,我们需要自己实现一个爬虫,本篇文章对PHP实现爬虫的方式做个总结. PHP实现爬虫主要方法 1.file()函数 2.file_get_contents()函数 3.fopen()-

Python urllib、urllib2、httplib抓取网页代码实例

  这篇文章主要介绍了Python urllib.urllib2.httplib抓取网页代码实例,本文直接给出demo代码,代码中包含详细注释,需要的朋友可以参考下 使用urllib2,太强大了 试了下用代理登陆拉取cookie,跳转抓图片...... 文档:http://docs.python.org/library/urllib2.html 直接上demo代码了 包括:直接拉取,使用Reuqest(post/get),使用代理,cookie,跳转处理 ? 1 2 3 4 5 6 7 8 9