Ir ao conteúdo
  • Cadastre-se

C Como usar/consumir APIs em C


Posts recomendados

É possível consumir API usando C? Quero fazer um projeto (justamente para ter dúvidas e aprender) envolvendo a API do imbd mas n achei nada relacionado a C e API`s. Vi um tutorial sobre clima tempo com php+docker, porém não consegui assimilar e trazer pra C. Estava também pensando em fazer uma interface básica que existam botões e uma imagens para posters para que o usuário não precise escrever. como se fosse html,css e php/js mas no caso com C no back, será que o ideal seja mudar minha linguagem pra esse projeto?
Eu prefiro que seja um app do que um site, mas n sei como posso fazer esta interface sem o html e css.

Link para o comentário
Compartilhar em outros sites

@LucasrodriguesP Em geral não vai usar diretamente HTML ou CSS para consumir API. Entenda que WEB API é um modesto conjunto do que é uma API. API é uma interface. No caso da WEB essas API no geral trafegam apenas TEXTO sem formatação, em geral em JSON, XML, SOAP ou o velho conhecido CSV para grandes massas de dados extráidas de coisas como o tweeter.

 

Não há nada de especial em usar C ou C++ para isso. Todos os navegadores foram inicialmente escritos em C por exemplo. O problema é perder o ecossistema que já vem pronto com .net ou os frameworks web. Coisas como AXIOS e httprequest.

 

Há alternativas, claro. Em C++ pode usar Qt e ter um ambiente legal por exemplo. 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@arfneto Acredito que formulei errado minha intenção, sei que o HTML e CSS não usam a API diretamente, eu usaria eles para possibilitarem a estilização, botões, imagens e etc.
 

3 horas atrás, arfneto disse:

essas API no geral trafegam apenas TEXTO sem formatação, em geral em JSON, XML, SOAP

Esse é meu intuito, o IMDB é um banco de dados que fornece o titulo, poster, avaliação, sinopse e etc sobre filmes/séries/animes. Então o usuário (Eu) selecionaria que tipo de obra (filmes/séries/animes) e em seguida o/os gêneros (ação, drama, aventura,...), após isso apareceriam diversos resultados para o usuário ver e decidir uma obra pra ver.
 Entretanto não achei nenhuma referência que me norteie sobre uso de APIs com C nesse estilo e muito menos INTERFACES, você comentou do C++, aparentemente é melhor escolher outra linguagem?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, LucasrodriguesP disse:

Entretanto não achei nenhuma referência que me norteie sobre uso de APIs com C nesse estilo e muito menos INTERFACES, você comentou do C++

 

Que são INTERFACES?

 

API é um termo genérico e boa parte das API estão disponíveis em C e/ou foram escritas em C.

 

Se quer consumir dados de uma API web --- um subconjunto --- como a API do IMDB como eu disse é melhor se valer do que já existe nos frameworks web, coisas como javaFX /java, React/javascript, .net/C#, Django/Python, Qt/C++ ou mesmo libcurl/C

 

Como eu disse, é apenas texto.

 

1 hora atrás, LucasrodriguesP disse:

Esse é meu intuito, o IMDB é um banco de dados que fornece o titulo, poster, avaliação, sinopse e etc sobre filmes/séries/animes. Então o usuário (Eu) selecionaria que tipo de obra (filmes/séries/animes) e em seguida o/os gêneros (ação, drama, aventura,...), após isso apareceriam diversos resultados para o usuário ver e decidir uma obra pra ver

 

Acho que sabe que o site do IMDB faz tudo isso muito bem. Precisa ter um bom plano para fazer mais do que o serviço faz de graça.  E note que se você tem conta no serviço pode ter coisas ainda mais personalizadas e replicar isso dentro da API é um trabalho do inferno.

 

O uso da API é mais para coisas simples como agregar o score do IMDB ou o poster num site.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

7 horas atrás, arfneto disse:

Se quer consumir dados de uma API web --- um subconjunto --- como a API do IMDB como eu disse é melhor se valer do que já existe nos frameworks web, coisas como javaFX /java, React/javascript, .net/C#, Django/Python, Qt/C++ ou mesmo libcurl/C

 

Entendi, eu estava muito preso no conceito de API web e me esqueci do resto. Aproveitarei os frameworks web como você disse, creio que faz mais sentido agora.

 

9 horas atrás, arfneto disse:

Acho que sabe que o site do IMDB faz tudo isso muito bem. Precisa ter um bom plano para fazer mais do que o serviço faz de graça.  E note que se você tem conta no serviço pode ter coisas ainda mais personalizadas e replicar isso dentro da API é um trabalho do inferno.

Sobre essa parte, eu concordo com você que não é nada novo, mas é só um projetinho pessoal para colocar em prática

OBS: olha só que legal lá no fim do site -> https://imdb-api.com/api/#Search-header

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

2 horas atrás, cpusam disse:

Fosse eu, usaria a lib curl, tem até exemplo de como acessar API por ela em C puro. Pesquisa ai no google, tem bastante exemplos em C (muitos em inglês).

Nesse caso meu programa seria apenas texto no cmd e se eu quisesse que fosse interativo como uma página mesmo teria que usar o Qt que o arfneto comentou?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

2 horas atrás, LucasrodriguesP disse:

Nesse caso meu programa seria apenas texto no cmd e se eu quisesse que fosse interativo como uma página mesmo teria que usar o Qt que o arfneto comentou?

Se vai programar em C o simples é usar GTK+ para os controles e libcurl para o tráfego. Em C++ usaria Qt. 

É tudo parecido. C++ é muito mais expressiva que C.

Mas se usar algo como C# e .net tem os designers, assim como em C++ Builder. Designers são aqueles programas em que você desenha a tela com os controles e o programa de certo modo gera o código, como no Visual Basic ou no Delphi.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 17/08/2022 às 13:50, LucasrodriguesP disse:

Nesse caso meu programa seria apenas texto no cmd e se eu quisesse que fosse interativo como uma página mesmo teria que usar o Qt que o arfneto comentou?

O @arfnetorespondeu ai. Como você está falando em C, GTK+ é uma opção multiplataforma. No GTK tem também uma interface pra acessar API web, não lembro agora e não estou bem certo se existe nele porque faz tempo que vi. De qualquer forma GTK com curl dá pra você fazer tudo que quer fazer e mais um pouco, e ainda vai poder compilar em diversos sistemas, não apenas em Windows.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Estou progredindo e consegui fazer a conexão (deixei a interface pra lá), mas no momento tenho recebido alguns erros como "ssl peer certificate or ssh remote key was not ok" e "resquest failed Couldn't resolve host name". O correto seria eu fazer o post sobre minhas duvidas nesse mesmo tópico ou abrir um novo?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!