socket_GET.py 852 B

1234567891011121314151617181920212223242526272829303132333435
  1. import socket
  2. def test_socket_GET():
  3. # 创建一个socket对象
  4. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  5. # 获取服务器的IP地址
  6. server_ip = socket.gethostbyname('baidu.com')
  7. server_port = 80
  8. # 连接到服务器
  9. s.connect((server_ip, server_port))
  10. # 创建HTTP GET请求
  11. request = 'GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n'
  12. # print('request:', request)
  13. s.send(request.encode())
  14. # 接收服务器的响应
  15. response = ''
  16. while True:
  17. try:
  18. recv = s.recv(1024)
  19. except:
  20. break
  21. if not recv:
  22. break
  23. response += recv.decode()
  24. s.close()
  25. return response
  26. for i in range(10):
  27. res = 'HTTP/1.1 200 OK' in test_socket_GET()
  28. if res == True:
  29. break
  30. print('test_socket_GET() failed, retrying...')