вопрос, связанный с сокетом Python - PullRequest
0 голосов
/ 01 марта 2010

Я совершенно новичок в программировании сокетов в Python. я прочитал какое-то учебное пособие и руководство, но я не нашел то, что я хочу, чтобы сделать связанный с Python сценарий сокета в руководстве или учебнике.

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

но я понятия не имею ... как отправить мою регистрационную информацию (идентификатор и пароль) на сервер.

я был захвачен с помощью wireshark, некоторый процесс для отправки информации для входа на сервер.

и я нашел номер порта 5300 и IP-адрес сервера 58.225.56.152

и мне прислали идентификатор 'aaaaaaa' и пароль 'bbbbbbb', и я получил

Результат с сервера: 'USER NOT FOUND'.

как я могу сделать такой процесс с сокетом Python?

если кто-нибудь поможет мне какой-нибудь справочный материал или какой-нибудь пример или что-нибудь, помогите очень ценить!

0000   00 50 56 f2 c8 cc 00 0c 29 a8 f8 c0 08 00 45 00  .PV.....).....E.
0010   00 e2 2a 19 40 00 80 06 d0 55 c0 a8 cb 85 3a e1  ..*.@....U....:.
0020   38 98 05 f3 15 9a b9 86 62 7b 0d ab 0f ba 50 18  8.......b{....P.
0030   fa f0 26 14 00 00 50 54 3f 09 a2 91 7f 13 00 00  ..&...PT?.......
0040   00 1f 14 00 02 00 00 00 00 00 00 00 07 00 00 00  ................
0050   61 61 61 61 61 61 61 50 54 3f 09 a2 91 7f 8b 00  aaaaaaaPT?......
0060   00 00 1f 15 00 08 00 00 00 07 00 00 00 61 61 61  .............aaa
0070   61 61 61 61 07 00 00 00 62 62 62 62 62 62 62 01  aaaa....bbbbbbb.
0080   00 00 00 31 02 00 00 00 4b 52 0f 00 00 00 31 39  ...1....KR....19
0090   32 2e 31 36 38 2e 32 30 33 2e 31 33 33 30 00 00  2.168.203.1330..
00a0   00 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f  .Microsoft Windo
00b0   77 73 20 58 50 20 50 72 6f 66 65 73 73 69 6f 6e  ws XP Profession
00c0   61 6c 20 53 65 72 76 69 63 65 20 50 61 63 6b 20  al Service Pack 
00d0   32 14 00 00 00 31 30 30 31 33 30 30 35 33 31 35  2....10013005315
00e0   37 38 33 37 32 30 31 32 33 03 00 00 00 34 37 30  783720123....470

0000   00 0c 29 a8 f8 c0 00 50 56 f2 c8 cc 08 00 45 00  ..)....PV.....E.
0010   00 28 ae 37 00 00 80 06 8c f1 3a e1 38 98 c0 a8  .(.7......:.8...
0020   cb 85 15 9a 05 f3 0d ab 0f ba b9 86 63 35 50 10  ............c5P.
0030   fa f0 5f 8e 00 00 00 00 00 00 00 00              .._.........

0000   00 0c 29 a8 f8 c0 00 50 56 f2 c8 cc 08 00 45 00  ..)....PV.....E.
0010   00 4c ae 38 00 00 80 06 8c cc 3a e1 38 98 c0 a8  .L.8......:.8...
0020   cb 85 15 9a 05 f3 0d ab 0f ba b9 86 63 35 50 18  ............c5P.
0030   fa f0 3e 75 00 00 50 54 3f 09 a2 91 7f 16 00 00  ..>u..PT?.......
0040   00 1f 18 00 01 00 00 00 0e 00 00 00 55 73 65 72  ............User
0050   20 4e 6f 74 20 46 6f 75 6e 64                     Not Found

Ответы [ 2 ]

1 голос
/ 15 февраля 2019
Сокет

- это конечная точка, с которой вы можете отправлять и получать данные. Чтобы получить доступ к сокетам в Python, вы можете использовать модуль сокетов.

Сокет - это почти модуль самого низкого уровня, с которым вы могли бы реализовывать различные протоколы. например, если вы хотите отправлять http-запросы и получать http-ответ на сервер / с сервера, как вы упоминали выше, вы можете использовать различные модули, такие как requests, urllib, httplib. но все они построены с использованием модуля сокета.

Теперь вы должны создать сокет для сервера и один для клиента. Один из способов - заставить серверные сокеты работать для прослушивания входящих соединений, а клиентский сокет - отправлять запросы этому слушателю. После установления соединения на стороне сервера будет создан другой сокет, который будет отправлять и получать данные в / из клиентского сокета.

#client side
import socket
client_socket = socket.socket()
client_socket.connect(('server ip address',server port number to which you want to connect))
client_socket.send('hi')
client_socket.recv(4096)
client_socket.close()


#server side
server_socket = socket.socket()
server_socket.bind(('server ip address',server port number))
server_socket.listen(0)
server_new_socket,ip_address = server_socket.accept()
server_new_socket.send('connection established')
server_new_socket.recv(4096)
server_new_socket.close()

На самом деле вы можете изменить его, чтобы иметь возможность отправлять и получать столько данных, сколько вам нужно

1 голос
/ 01 марта 2010

Библиотека Python для подключения к службе MSN Messenger:

http://blitiri.com.ar/p/msnlib/

(Отказ от ответственности: никогда не использовал это сам.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...