c - 如何让fpointer指向网络中的html文件?

标签 c fgets

我基本上试图从路由器的登录页面(嗯,HTML 文件)打印一个字符串,但我不知道如何让 c 指向一个 url。

我从这个开始,这显然行不通,但我对此很陌生,我必须尝试。

#include <stdio.h>

    char line [255];

int main()
{
    FILE * fpointer = fopen("http://192.168.0.1/login.html", "r");

    fgets(line, 255, fpointer);
    printf("%s", line);

    fclose(fpointer);
    return 0;
}

我几乎对编程一无所知,我只是想知道我该如何做这个程序应该能够对我的计算机中的任何文件执行的操作,但需要一个网址。

谢谢!

最佳答案

您可以将popen函数与curl命令一起使用。

FILE *fp = popen("curl http://192.168.0.1/login.html", "r");
if (fp == NULL) {
  // Error. throw Exception or report  
}

char buffer[MAX_SIZE];
while (fgets(buffer, MAX_SIZE, fp) != NULL) {
    processChunk(buffer);
}

pclose(fp);

关于c - 如何让fpointer指向网络中的html文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242417/

相关文章:

c - 如何手动分配内存

c - 为什么输出字符串显示我从未写过的数据?

c - 为什么这个 printf 语句没有被执行

c - 在 c shell 中使用 execvp 出现段错误

c - 在 Eclipse 中将 fgets(char* c, int i, file* f) 与 printf() 结合使用 - CDT。输出顺序不正确。!

c - 在 C 中比较字符串时,fgets 比 scanf 更有效吗?

编译ShellCode程序出现C错误

c - 在 32 位机器上执行 C 程序

c - fgets() 将字符串分成两行

c - 关于换行和 fgets() 的查询