gpt4 book ai didi

python 3 https 发帖很慢

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:20:16 26 4
gpt4 key购买 nike

我有一个脚本,它使用 python 3 和 FancyURLopener 通过 https 登录。所以我这样做:

from urllib.request import FancyURLopener, urlopen
from urllib.parse import urlencode
import re, sys

class SMS:

login_url = "url1"
login_act = "url2"
comp_url = "url3"
comp_act = "url4"
LEN = 100

def __init__(self, phone_num, password):
self.phone_num = phone_num
self.password = password
self.opener = FancyURLopener()
resp = self.opener.open(SMS.login_url)
cookie = ""
for x, y in resp.headers.items():
if x == "Set-Cookie":
cookie += y + "; "
cookie = cookie[:-2]
self.opener.addheader("Cookie", cookie)
print("--login")
self.login()

def login(self):
di = { "action":"", "refid":"", "continuation":"",\
"username":self.phone_num, "password":self.password, "image.x":"45", "image.y":"18"}
resp = self.opener.open(SMS.login_act, urlencode(di))

def send(self, to, message):
print("--sending")
if len(message) > 100:
print("Message length too long; Not send.")
return -1
resp = self.opener.open(SMS.comp_url).read().decode("windows-1251")
pattern1 = "<input type=\"hidden\" name=\"daycreditsmsleft\" value=\"(\d+)\""
pattern2 = "<input type=\"HIDDEN\" name=\"smssenttime\" value=\"(\d+)\""
post = {"brand":"", "daycreditsmsleft":re.search(pattern1, resp).groups()[0],\
"process":"true", "btnSendSMS.x":"75", "btnSendSMS.y":"23", "model":"0",\
"smssenttime":re.search(pattern2, resp).groups()[0], "remainingChars": str(SMS.LEN - len(message)),\
"reply2inbox":"false", "selReceiverName":"", "txtareaMessage":message, "receiverPhoneNum":to}
if post["daycreditsmsleft"] == 0:
print("No more messages; Not send")
return -1
resp = self.opener.open(SMS.comp_act, urlencode(post) )

然后我会像这样使用它:

s = SMS("telephone_num", "pass")
s.send(tel, message)

问题是POST请求太慢了。登录需要20多秒。在整个脚本中有 2 个 POST 请求,所以它实际上运行了将近一分钟。如何优化?

我还注意到消息是在程序结束前收到的。

最佳答案

我的猜测是请求中有一些细微的不同,这使得您的服务器需要很长时间来处理请求。

如果你是服务器的编写者,这应该很容易验证。如果不是,您可能必须使用某种跟踪程序,以便您可以查看请求何时从 Python 端完成以及响应何时返回,并将其与来自浏览器的请求进行比较。

关于python 3 https 发帖很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com