Есть речь идет о HTTP-прокси, то возможно два варианта:
1. Как HTTP прокси, при этом к прокси делается обычный HTTP запрос с единственным различием: в качестве аргументе передается не относительный путь, как GET / HTTP/1.0, а полный URI с указанием протокола
GET http://example.com/ HTTP/1.1
Host: example.com
2. Как CONNECT прокси, делается запрос
CONNECT example.com:80 HTTP/1.1
Host: example.com:80
после чего считывается ответ сервера, если ответ успешный, то дальнейшие данные передаваемые через соединение будут проксироваться на порт сервера указанного в CONNECT.
Второй способ обычно используется для HTTPS, некоторые прокси не разрешают делать CONNECT по портам отличным от 443.