liunx c实现http多线程下载2(url地址解析)
来源:互联网 发布:淘宝主图图片素材 编辑:程序博客网 时间:2024/05/22 12:01
对目标URL地址进行解析,得到三类信息:(1)主机地址,(2)端口(如果没有给出,默认就是80),(3)文件所在主机的具体路径名以及文件名
主要用到两个函数strstr(), strchr()用于查找字符串中是否有指定的字符串和字符,存在则返回对于地址,不存在则返回NULL。
源码:
#include <stdio.h>#include <string.h>int getUrlInfo(char *url, char* hostname, char *filepath);int main() {char hostname[100] = {0};char filepath[100] = {0};char *url = "http://www.baidu.com/eeefffggg/a.txt";int ret = getUrlInfo(url, hostname, filepath);if(ret != 0) {printf("getUrlInfo error\n");return -1;}printf("URL:%s\n", url);printf("hostname:%s\nfilepath:%s\n", hostname, filepath);return 0;}int getUrlInfo(char *str, char* hostname, char *filepath) {char *pos = strstr(str, "//");//printf("pos:%s\n", pos);pos+=2;if(*pos == '\0') {printf("there is no filePath\n");return -1;}char *pos2 = strchr(pos, '/');strncpy(hostname, pos, pos2-pos);strcpy(filepath, pos2+1);return 0;}测试:
URL:http://www.baidu.com/eeefffggg/a.txt
hostname:www.baidu.com
filepath:eeefffggg/a.txt
0 0
- liunx c实现http多线程下载2(url地址解析)
- liunx c实现http多线程下载1(总体流程)
- HTTP协议URL解析的C语言实现
- 使用URL实现多线程下载
- java实现http多线程下载
- 访问URL地址实现下载文件
- Java实现多线程下载 URL以及URLConnection
- .Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类 (第2版) (C# DIY HttpWebClient)
- C语言实现HTTP下载
- 使用java实现http多线程下载
- 使用java实现http多线程下载
- 通过HTTP协议实现多线程下载
- 使用java实现http多线程下载
- 使用JAVA实现HTTP多线程下载
- Android--通过Http协议实现多线程下载
- Android通过HTTP协议实现多线程下载
- android HTTP实现文件多线程下载
- Android通过HTTP协议实现多线程下载
- java给图片添加图片水印,文字水印,马赛克
- 【语言-C++】Image - .exe 中的 0x0043a998 处有未经处理的异常: 0xC0000005: 读取位置 0x029d846c 时发生访问冲突
- 如何使用fiddler查看https请求数据,如查看支付宝请求参数、返回结果等
- Ajax表单提交上传文件
- XFTP设置utf8编码的方法
- liunx c实现http多线程下载2(url地址解析)
- 组件——TextView(文本框)
- andro 需求要求标准
- rpm安装mysql总结
- 图片的二次采样
- appstore美国区appleID申请
- PAT|1064. Complete Binary Search Tree
- Java微信二次开发之13-图文消息的推送接收
- P1120 小木棍 [数据加强版]