HTTP GET requests in vanilla Scratch 3.0
- Create a certificate. Name it
server.crtwith the key file namedserver.key. - Install the
requirements.txtdependencies - Simply add
127.0.0.1 translate-service.scratch.mit.eduto your hosts file (on windows -untested on linuxLinux works too - untested on macOS) - Run
server.py - Add a security exception for
translate-service.scratch.mit.eduin your browser; the certificate is self-signed, and therefore, insecure
When the translate feature is used in scratch, It sends an HTTP GET request to "translate-service.scratch.mit.edu".

Route the "translate-service.scratch.mit.edu" to localhost in the hosts file.

Create a custom script to take the parameters that Scratch sends and use the string parameter as the url to return the content of.

https://example.com|body
^^ ^^
URL Body
If applicable;
Leave empty
if not used
(Keep the |)
200|filetype|body <- Body
^ ^^<< Filetype
Status code h = Html
c = Css
t = plainText
i = Image (base64 encoded)
d = Data (lowercase hex encoded)
n = http (Network) header
j = Json
Change the target language to select the request method:
| Language | Request | Uses Body? |
|---|---|---|
| Amharic | GET | No |
| Arabic | POST | Yes |
| Azerbaijani | PUT | Yes |
| Basque | DELETE | No |
| Bulgarian | PATCH | Yes |
| Catalan | OPTIONS | No |
- The response body of an OPTIONS request is replaced with the
Allowheader of the request.
Audio is not natively supported anymore. Please use something like this to play audio.
ScratchWeb can convert image files to a Scratch-friendly base64 format.
See image-client.sb3 for an example.
ScratchWeb now supports WebSockets!
- URL must start with
wsorwss - Language is irrelevant
- The body will be sent to the WS server, the response will be received
- Status code is hardcoded to
200, filetype tot