как получать отправленные почтовые запросы с php с использованием сокета python

#python #php #sockets #http

Вопрос:

я хочу получить отправленный почтовый запрос с php с использованием python. но, по-видимому, когда я получаю информацию, я получаю не ту информацию, которую хочу.

это мой php-код:

 <?php
$Options = array('http' =>
array(
    'method'  => 'POST',
    'content' => "Request Payload",
    'timeout' => 9000
  )
);
$Context  = stream_context_create($Options);
$Result = file_get_contents("https://xx.xx.xx.xx", false, $Context);

?>
 

и это мой код на python:

 import socket

HOST = "xx.xx.xx.xx"
PORT = 443

listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print(f'Serving HTTP on port {PORT} ...')
while True:
    client_connection, client_address = listen_socket.accept()
    request_data = client_connection.recv(1024)

    print(request_data.decode('latin-1'))
    
    client_connection.sendall(http_response)
    client_connection.close()
 

И это мое сообщение, полученное из php на python:

 ▬♥☺☻ ☺ ☺ü♥♥→±±µ ð·!óñZ        lB↑³w¸ ÕaivS`ÓoÛ {µKY↔        ì2Jò±˜šóñæé|ÁGÃö­þfÁf~¤­ªÑ –‼☻‼♥‼☺À/À À0À, ž ¢ £ ŸÀ'À#À‼À        À(À$À¶À
 g 3 @ k 8 9 œ À®À¬À¢Àž 2À Àœ < /À¯À­À£ÀŸ jÀ¡À = 5̨̩̪À]ÀaÀWÀSÀÀ`ÀVÀRÀsÀw Ä ÃÀrÀv ¾ ½ ˆ ‡ E 78.39.159.102 ♂ ♦♥ ☺☻ ↕ ►
 ♀
 0      ♠♥ #   ▬   ↨
♠♦☺♣☺♠☺♥♥☻♥♥☺☻☺♥☻☻☻♦☻♣☻♠☻     ♥♦♥♥♥☻♥☺ - ☻☺☺ 3 amp; $ ↔  Ïø
ÈåœØ¬ÑXQ»F
˜õ☺’Ó ☺Å☻▼T—˜k–µÙV § n
 

Комментарии:

1. Вы отправляете по протоколу HTTPS-HTTP через TLS/SSL-но получаете через сокет с открытым текстом. Вам нужно получать через сокет SSL/TLS, но вам действительно следует использовать библиотеку HTTP-сервера более высокого уровня; любая приличная библиотека будет включать поддержку HTTPS.