#!coding:utf-8from selenium import webdriverimport time,hashlib,warningswarnings.filterwarnings('ignore')dcap = dict(webdriver.DesiredCapabilities.PHANTOMJS)def authCode(appkey,secret):    appkey = appkey    secret = secret    paramMap = {        "app_key": appkey,        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S")    }    keys = sorted(paramMap)    codes = "%s%s%s" % (secret, str().join('%s%s' % (key, paramMap[key]) for key in keys), secret)    sign = hashlib.md5(codes.encode('utf-8')).hexdigest().upper()    paramMap["sign"] = sign    keys = paramMap.keys()    authHeader = "MYH-AUTH-MD5 " + str('&').join('%s=%s' % (key, paramMap[key]) for key in keys)    return authHeader# 创立实例def createSelenium(appkey,secret,proxy,phantomjs_path,url):    auth = authCode(appkey,secret)    # 此处开始设置头信息    dcap["phantomjs.page.settings.userAgent"] = ('Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36')    # 此处带入proxy验证信息    dcap["phantomjs.page.customHeaders.Proxy-Authorization"] = (auth)    # By PhantomJS    args = ['--load-images=false', '--disk-cache=true', f'--proxy={proxy}', '--ignore-ssl-errors=true', '--ssl-protocol=TLSv1']    # For Windows    br = webdriver.PhantomJS(service_args=args, desired_capabilities=dcap, executable_path=phantomjs_path)    # 拜访页面    br.get(url)    # 设置页面等待时间,不重要    br.implicitly_wait(10)    br.set_page_load_timeout(15)    print(br.page_source)    br.quit()    # 接下来执行具体动作if __name__ == '__main__':    appkey = 'xxxxxxx'    secret = 'xxxxxxxxxxxxxxxxxxxxx'    proxy = 'http://xxx.xx.xx.xx:xxxx' #蚂蚁服务器的地址与端口    phantomjs_path = 'phantomjs.exe'   #phantomjs门路    url = 'http://members.3322.org/dyndns/getip'    #要申请网址    createSelenium(appkey,secret,proxy,phantomjs_path,url)