How to query CS Counter-Strike server information under python

高洛峰
Release: 2017-02-21 10:36:28
Original
1523 people have browsed it

前言

服务器的相关知识曾经让我非常困惑。我相信还有很多的Python开发者和我有着类似的遭遇。本文主要介绍了python下如何查询CS反恐精英的服务器信息,有需要的可以参考学习。

CS反恐精英1.5版本示例代码

#!/bin/env python
 
import urllib2, base64, sys, getopt
import re
import socket
 
def Usage ():
  print "Usage: hlds.py -h 127.0.0.1 -p 27015"
  sys.exit(2)
 
def main ():
 
  # Default values
  host = "localhost"
  port = ""
 
  if len(sys.argv) < 1:
    Usage()
 
  try:
    opts, args = getopt.getopt(sys.argv[1:], "h:p:a:")
  except getopt.GetoptError:
    Usage()
 
  # Assign parameters as variables
  for opt, arg in opts :
    if opt == "-h" :
      host = arg
    if opt == "-p" :
      port = arg
 
  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  port = int(port)
  sock.settimeout(10)
  sock.connect((host, port))
  sock.send(&#39;\xFF\xFF\xFF\xFF\x69\x6E\x66\x6F\x73\x74\x72\x69\x6E\x67\x0A\00&#39;)
 
  request=sock.recv(1400)
  sock.close()
  server_info=request.replace(&#39;\xFF&#39;, &#39;&#39;)
 
  buffer = re.findall(r&#39;\d+&#39;, server_info)
  print buffer[6]
 
if __name__ == "__main__":
 main()
Copy after login

CS反恐精英1.6版本示例代码

#!/bin/env python
 
import urllib2, base64, sys, getopt
import re
import socket
 
def Usage ():
  print "Usage: hlds.py -h 127.0.0.1 -p 27015"
  sys.exit(2)
 
def main ():
 
  # Default values
  host = "localhost"
  port = ""
 
  if len(sys.argv) < 1:
    Usage()
 
  try:
    opts, args = getopt.getopt(sys.argv[1:], "h:p:a:")
  except getopt.GetoptError:
    Usage()
 
  # Assign parameters as variables
  for opt, arg in opts :
    if opt == "-h" :
      host = arg
    if opt == "-p" :
      port = arg
 
  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  port = int(port)
  sock.settimeout(10)
  sock.connect((host, port))
  sock.send(&#39;\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00&#39;)
 
  request=sock.recv(1400)
  sock.close()
  #server_info=request.replace(&#39;\xFF&#39;, &#39;&#39;)
  print request
 
  #buffer = re.findall(r&#39;\d+&#39;, server_info)
  #print buffer[6]
  #print buffer
 
if __name__ == "__main__":
 main()
Copy after login

更多python下如何查询CS反恐精英的服务器信息相关文章请关注PHP中文网!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template