How can I get an html response from a url string? Using this:
#lang racket
(require net/url)
(require net/websocket/client)
(define google (string->url "http://google.com"))
(ws-connect(struct-copy url google [scheme "ws"]))
Gives me ws-connect: Invalid server handshake response. Expected #"\242\266\336\364\360\"\21~Y\347w\21L\2326\"", got #"<!DOCTYPE html>\n"
I’m assuming you just want to do the equivalent of an HTTP GET.
Use
get-pure-portto do HTTP GET; it returns an input port. Also, the URL above redirects, so we have to enable following redirections.If you want the response as a single string you can use
port->string:Or you could pass it to some function that parses it as HTML or XML. There are several such libraries on PLaneT; I recommend (planet neil/html-parsing:1).
See also
call/input-url, which automatically handles closing the port.