Я использую библиотеку Winhttp.lib
для отправки HTTP-запроса на C++ на удаленный сервер.Код для отправки HTTP-запроса через прокси-сервер с использованием WinHttp
На стороне клиента HTTP-запрос должен быть отправлен в прокси-сервер, IP-адрес которого составляет W.X.Y.Z
, а какой порт - 1234
.
Согласно прототипу функции WinHttpOpen()
(https://msdn.microsoft.com/en-us/library/windows/desktop/aa384098%28v=vs.85%29.aspx), , в частности, параметры dwAccessType
, pwszProxyName
и pwszProxyBypass
, это выглядит, как это функция, которая должна быть сказано о доверенности.
Как сообщить функции WinHttpOpen()
, что прокси для отправки HTTP-запроса является (IP = W.X.Y.Z, PORT = 1234)
?
Структура WINHTTP_PROXY_INFO
(https://msdn.microsoft.com/en-us/library/windows/desktop/aa383912%28v=vs.85%29.aspx) выглядит интересной, но я знаю, как ее использовать в сочетании с WinHttpOpen()
.
спасибо.
Благодарим вас за ответ. Я просто хотел бы настаивать на том, что IP и PORT прокси-сервера известны. Но, возможно, это не так, как работает WinHttp ... –
Я расширил свой первоначальный вопрос о том, пытались ли вы WinHttpSetOption установить прокси для вашей сессии, чтобы сделать его более полезным. Я попробовал это сейчас, и это, казалось, сработало (хотя на самом деле у меня нет законного прокси-сервера ... поэтому мой тест заключался в том, что я не мог получить доступ к веб-сайту после того, как я установил параметр). – fleebness
Хотя я не уверен, что вы точно подразумеваете под «законным прокси», я не думаю, что у меня его есть: Я установил прокси-сервер SQUID на одной из машин (P) в своей локальной сети.Машина, которая запускает код WinHttp, является другой машиной (C) в локальной сети. Удаленная машина (S). Мне нужно (C) отправить HTTP-запрос на (S), но запрос должен быть отправлен прокси (P), который отправит его (S). –