社区
C++ 语言
帖子详情
如何将socket通信中receive来的内容存进html?
dairuijia
2007-05-02 07:32:02
就是将socket通信过程中receive来的内容存进html里面。请问怎么做?谢谢
...全文
242
6
打赏
收藏
如何将socket通信中receive来的内容存进html?
就是将socket通信过程中receive来的内容存进html里面。请问怎么做?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dairuijia
2007-05-04
打赏
举报
回复
up
dairuijia
2007-05-03
打赏
举报
回复
顶
dairuijia
2007-05-02
打赏
举报
回复
这个是dev c++ 不是vc 有这样的方法么?
jinhaijian
2007-05-02
打赏
举报
回复
你可以用string把所有的内容连接起来,VC中调试时,字符串显示就有三种方式,一种Text、XML、HTML。
还有你可以直接用WinInet中的函数来代替用Socket.
dairuijia
2007-05-02
打赏
举报
回复
上面是我的程序 ,就是将两次recv(sockfs,recvline,MAXLINE,0)<0存到一个html里,以便看到是不是真的接受了想要的内容。
dairuijia
2007-05-02
打赏
举报
回复
#include <stdio.h>
#include <string>
#include <winsock.h>
#include <winsock2.h>
#include <iostream>
#define MAXLINE 10000
#define SA struct sockaddr
#define SOCKET int
using namespace std;
int main (int argc,char * argv[])
{
string s1,s2,s3,s4;
cin>>s1>>s2>>s3>>s4;
char recvline[MAXLINE+1];
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,1),&wsaData)!=0)
{
perror("initial error!");
_sleep(2000);
WSACleanup();
exit(1);
}
struct sockaddr_in server_addr;
struct hostent *hp;
hp=(struct hostent *)malloc(sizeof(struct hostent));
hp=gethostbyname("www.baidu.com");
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(80);
memcpy((char*)&server_addr.sin_addr,(char*)hp->h_addr,hp->h_length);
free(hp);
SOCKET sockfd;
if ((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)/*判断socket是否出错*/
{
perror("socket error");
_sleep(2000);
exit(1);
}
if(connect(sockfd,(SA*)&server_addr,sizeof(server_addr))<0) //连接socket
{
perror("connection error!");
_sleep(2000);
exit(1);
}
string strkey=(string)"GET /s?wd="+s2+(string)"&cl=3 HTTP/1.1\r\n\r\n"
"Accept: */*\r\n\r\n"
"Referer: http://www.baidu.com/\r\n\r\n"
"Accept-Language: zh-cn\r\n\r\n"
"Accept-Encoding: gzip, deflate\r\n\r\n"
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n"
"Host: www.baidu.com\r\n\r\n"
"Connection: Keep-Alive\r\n\r\n";
const char* ptrkey =strkey.c_str();
char bufferkey[2048];
for (int i=0;i<strkey.length();i++)
{
bufferkey[i++]=*ptrkey++;
}
if(send(sockfd,bufferkey,sizeof(bufferkey),0)<0) //发送关键字
{
perror("send error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"sending message to baidu....\r\n\r\n";
_sleep(2000);
}
if(recv(sockfd,recvline,MAXLINE,0)<0) //搜索结果返回
{
perror("recv error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"receiving message from baidu....\r\n\r\n";
_sleep(2000);
}
closesocket(sockfd);
SOCKET sockfs;
if ((sockfs=socket(AF_INET,SOCK_STREAM,0))<0)/*判断socket是否出错*/
{
perror("socket error");
_sleep(2000);
exit(1);
}
if(connect(sockfs,(SA*)&server_addr,sizeof(server_addr))<0) //连接socket
{
perror("connection error!");
_sleep(2000);
exit(1);
}
string strclick= (string)"GET /w.gif?query="+s2+(string)"&e=959f"/*&e=?不知道怎么处理*/+(string)"&title="+s4+(string)"&url=http%3A//www.rfidinfo.com.cn/Portal/Simple/"
"Contact_4209.html&spos=4&path=http://www.baidu.com/s?ie=gb2312&bs=rfid&sr=&z=&cl=3&f=8&wd=rfid+"
"%D0%C5%B4%EF%BB%E3%B4%CF&ct=0&t=1177206870437" /*url怎么处理?*/+
(string)"HTTP/1.1\r\n\r\nAccept: */*\r\n\r\nReferer: http://www.baidu.com/s?wd="+s2+(string)"&cl=3\nAccept-Language: zh-cn\r\n\r\n"
"Accept-Encoding: gzip, deflate\r\n\r\n"
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n"
"Host: s.baidu.com\r\n\r\n"
"Connection: Keep-Alive\r\n\r\n" ;
const char* ptrclick =strkey.c_str();
char bufferclick[2048];
for (int i=0;i<strclick.length();i++)
{
bufferkey[i++]=*ptrkey++;
}
if(send(sockfs,bufferclick,sizeof(bufferclick),0)<0) //点击搜索结果
{
perror("send error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"sending message to baidu....\r\n\r\n";
_sleep(2000);
}
if(recv(sockfs,recvline,MAXLINE,0)<0) //返回点击内容
{
perror("recv error!");
_sleep(2000);
exit(1);
}
else
{
cout<<"receiving message from baidu....\r\n\r\n";
_sleep(2000);
}
cout<<"succeed!";
_sleep(2000);
closesocket(sockfs);
exit(0);
}
2021-07-29 python读取、写入json文件(含
中
文)、通过url接口上传文件、遍历文件夹的文件
一、python写入json文件 with codecs.open(out_file, 'w', 'utf-8') as file_obj: json.dump(response.json(), file_obj, ensure_ascii=False) 需要用utf-8来解码
中
文,因此需要标注。老师教我导入了codecs包,用codecs帮忙解码。查了一下基于python2的时候需要这么做,如果是python3以上版本好像可以直接用open解码即可。 调用json的dump函数,将获取的json文
python读取json文件并解析
# -*- coding: utf-8 -*- import os import json import sys reload(sys) sys.setdefaultencoding('utf-8') filelist=os.listdir('E:\\log\\files\\') for item in filelist: print item newfile=o...
python2.7笔记1
1.引入动态库 1)import ctypes lib = ctypes.cdll.LoadLibrary(“动态库名字.后缀名”) 2)from ctypes import * lib = cdll.LoadLibrary(“动态库名字.后缀名”) dll,so的动态库都一样,在动态库成功引入后,lib.方法运行 出现“function ‘方法名’ not found
python遍历json_Python遍历文件夹 处理json文件的方法
有两种做法:os.walk()、pathlib库,个人感觉pathlib库的path.glob用来匹配文件比较简单。下面是第二种做法的实例(第一种做法百度有很多文章):from pathlib import Pathimport jsonanalysis_root_dir = "D:\\analysis_data\json_file"store_result="D:\\analysis_data\...
【Python系列】json文件处理
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的
内容
和知识,也可以畅所欲言、分享您的想法和见解。非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨。
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章