HTTP
HTTP GET
DOH
#
# Server-side
# This is the DOH response for foo.example.com A 127.0.0.1. This requires that
# the test server is accessible at that address!
SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl
cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp
Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl
eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ==
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes
-foo-
#
# Client-side
http
# this requires debug so that it can use the DOH server without https
# Forces IPv4 so that it only sends one DoH request, which is a little lame
# but avoids the problem when they get sent in different order and ruins our
# protocol check!
debug
DoH
HTTP GET using DOH
http://foo.example.com:%HTTPPORT/2100 -4 --doh-url http://%HOSTIP:%HTTPPORT/21000001
#
# Verify data after the test has been "shot"
POST /21000001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Type: application/dns-message
Content-Length: 33
fooexamplecom GET /2100 HTTP/1.1
Host: foo.example.com:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*