Я посылаю некоторые данные mysockserver прослушивает сокет и ожидает данные следующимКак отправить http-тело без заголовка «POST/HTTP/1.1», используя pycurl?
packet='A'+struct.pack("!I", 98)+"Hello World blah blah"
Он работает все нормально. Теперь мне нужно отправить выше данные в гнездо, расположенное за http mytcpipserver.com. mytcpipserver.com перенаправляет сообщения на mysockserver. Я попытался следующие
csocket = pycurl.Curl()
csocket.setopt(pycurl.URL, 'https://mytcpipserver.com:443')
csocket.setopt(pycurl.PROXY, 'myproxy.com:8080')
csocket.setopt(pycurl.PROXYPORT, 8080)
csocket.setopt(pycurl.VERBOSE, 1)
csocket.setopt(pycurl.HTTPPROXYTUNNEL, 1)
headers = ['POST', 'Expect: ', 'User-Agent: ', 'Host:', 'Accept:', 'Content-Length:', 'Content-Type:']
csocket.setopt(pycurl.HTTPHEADER, headers)
header = "A" + struct.pack("!I", len(message))
packet = header + message
csocket.setopt(pycurl.POSTFIELDS, packet)
csocket.perform()
Я могу видеть, что сообщ достигает до mysockserver следующим образом, но я хочу видеть сервер получать только сырые т.е. данные «A» + struct.pack («Я», 98) + "Hello Мир-бла-бла»
"POST/HTTP/1.1
A<rest of message>"
mysockserver не ожидал прибыл Сообщ начать с POST, но с A + PackedInteger + MoreData. В принципе, как я могу отправить только необработанные данные без заголовка?
SO вопрос сейчас, как отправить тело без заголовка «POST/HTTP/1.1»?
Unfurtunately, я могу достичь целевого хоста (т.е. MyServerListeningOnSocket) только следующим httpProxy: 8080-> https: /blahblah.com: 443-> MyServerListeningOnSocket –
socks.setdefaultproxy (socks.PROXY_TYPE_HTTP, 'proxyBlah.com', 8080) ; socket.socket = socks.socksocket; c = socket.socket (socket.AF_INET, socket.SOCK_STREAM); c.connect (('blahblah', 443)); header = "Q" + struct.pack ("! I", len (сообщение)); пакет = заголовок + сообщение c.sendall (пакет); давая мне ошибку socks.py ", строка 349, в __negotiatehttp raise HTTPError ((statuscode, statusline [2])) socks.HTTPError: (400, 'Bad Request'). Я добавил точку с запятой, чтобы сделать код понятным, так как я делаю не знаю, как добавить новую строку после каждой строки в этом разделе комментариев –