荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (UNIX+C+XML+?? 傻了?), 信区: Linux
标 题: Re: 请问用c怎么打开远程url地址?[转载]
发信站: 荔园晨风BBS站 (Mon Apr 22 19:53:21 2002), 转信
【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@apue.dhs.org 所发表 】
发信人: carry (爱流汗水), 信区: APUE
标 题: Re: 请问用c怎么打开远程url地址?
发信站: UNIX编程 (2002年04月12日16:03:12 星期五), 站内信件
呵呵,
前几天正好试了一个例子
不是我原创,
不过我不记得是从哪Copy的了
很简单,也很好懂
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define BUF_LEN 1024
#define SERVER "202.102.111.222 "
int main()
{
struct sockaddr_in sin;
char buffer[BUF_LEN+1];
int fd;
char *p;
int state,i,len=sizeof(sin);
sin.sin_family=AF_INET;
sin.sin_port=htons(80);
sin.sin_addr.s_addr=inet_addr(SERVER);
strcpy(buffer,"GET / http/1.1\r\n\r\n");
fd=socket(AF_INET,SOCK_STREAM,0);
if(fd<=0) return -1;
state=connect(fd,(struct sockaddr*)&sin,len);
if(state) {close(fd); return -1;}
len=send(fd,buffer,strlen(buffer),0);
if(len<=0) {close(fd); return -1;}
len=0;
while( (i=recv(fd,&buffer[len],BUF_LEN-len,0))>0 && len<BUF_LEN ) len+=i;
buffer[len]=0;
close(fd);
p=strstr(buffer,"\n\n");
if(!p) p=strstr(buffer,"\r\n\r\n");
if(!p) return -1;
printf("%s\n",buffer);
return 0;
}
【 在 soundss (sound) 的大作中提到: 】
: 例如想打开某个网站的网页,
: 请问要怎么做?
: c函数里的fopen函数可以打开远程url吗?
--
※ 来源:·UNIX编程 apue.dhs.org·[FROM: 166.111.168.8] --
※ 转寄:·UNIX编程 apue.dhs.org·[FROM: 210.39.3.50]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店