# Webbklient
```
author: krm
created: 2025-12-02 
status: alpha
```

# 👁️‍🗨️ Om webklienter

Webbklienter är ett mycket vanligt program

- Eftersom det finns så mycket en webbklient skulle kunna vara ger vi bara en kort översikt här.

# ❓ Vad är en webbklient?

En webbklient är ett program som använder http för att få tag på
infromation ifrån en webbserver.

- Det behöver inte vara en webbläsare, dvs. den behöver inte visa upp en html sidan.
- Vanligare är att den hämtar information via ett Webb API.
- Och får information iform av JSON.


# Inga begräsningar på webben

En webbläsare har många begräsningar för att användaren ska vara säker.
Det har du inte om du utvecklar en webbklient.

- Därför tänk på säkerheten när du utvecklar en webbklient.
- Se till att du kontrollerar all data du får för att undvika "injektionsattacker"
- Tänk på att inte skicka förmånga frågor till server så den blir överblastad.
- Med mera.

Å andra sidan tänkt inte för mycket på säkerheten när du skriver något
litet bara för att lära dig, bara ha i åtanke att det är något du ska
lära dig så småning om.

## Hur implementerar man en webbklient

Du får hitta en bra bibliotek för ditt favoritspråk. Du kan skapa
webbklienter i nästan alla språk, men ofta är det rekomenderar att
använda ett tolkat språk.

- Python
  - [http.client](https://docs.python.org/3.0/library/http.client.html)
  - [Requests](http://docs.python-requests.org/en/master/)
- Node
  - [http.ClientRequest](https://nodejs.org/api/http.html#http_class_http_clientrequest)
  - [request](https://www.npmjs.com/package/request)

Det finns många fler, sök och testa några demons!

# Vad kan en webbklient användas till?

Till att hämta mycket olika typer av information via webben.

# Demo på en webbklient

Detta demo är för node med *request* paketet installerat.

```javascript
const request = require('request');
request('http://www.google.com', function (error, response, body) {
  // Print the error if one occurred
  console.log('error:', error);
  console.log('statusCode:', response && response.statusCode);
  // Print the response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});
```


 
