ghasedak-python
ghasedak-python copied to clipboard
مشکل در ورژن 3.8 پایتون با سامانه قاصدک
کد های موجود در این گیت روی جنگو نصب شد اما کار نکرد و ارور زیر مشاهده شد.
HTTPSConnectionPool(host='api.ghasedak.io', port=443): Max retries exceeded with url: /v2/sms/send/simple (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x107B8D78>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
با انجام تغییرات زیر در کد گیت ghasedak.py پیام ارسال گردید و مشکل برطرف شد.
` def init(self, apikey): self.apikey = apikey
# send request to api
def request_api(self, opts):
headers = {
'apikey': self.apikey,
'Content-Type': 'application/x-www-form-urlencoded',
}
url = 'http://api.iransmsservice.com/v2/' + opts['path']
data = opts['data']
headers = {
'apikey': "YOUR API",
'Content-Type': 'application/x-www-form-urlencoded',
}
r = requests.request("POST", url, data=data, headers=headers)
return r
def send(self, opts):
data = {}
data['path'] = "sms/send/simple?agent=python"
data['data'] = {
'message': opts['message'],
'sender': opts['sender'],
'Receptor': opts['Receptor'] if 'Receptor' in opts.keys() else "",
}
r = self.request_api(data)
if r.status_code == 200:
return True
return False`
دامنه io دیگه در دسترس نیست دلیل اون خطایی که دیدید همینه. کافیه .io رو به .me تغییر بدید و مشکل برطرف خواهد شد. پ.ن. مدت هاست که pull request & issue دادم این مشکل رو ولی انگار کسی بررسی نکرده!
سلام وقتتنون بخیر من میخوام سرویس otp رو فعال کنم کد رو میشه ببینین برای من ارسال نمی شه پیام.
#views in django
#set the phone log in
def phone(request):
if request.method == 'POST':
form = PhoneForm(request.POST)
if form.is_valid():
global random_code , phone
data = form.cleaned_data
phone = f"0{data['phone']}"
random_code = randint(1000,10000)
SMS.verification({'receptor': '09213281036', 'type': '1', 'template': 'otp1','param1': 'random_code'})
return redirect('accounts:verify')
else:
form = PhoneForm()
return render(request,'phone.html',{'form':form})
#verify code :
def verify(request):
if request.method == 'POST':
form = CodeForm(request.POST)
if form.is_valid():
if random_code == form.cleaned_data['code']:
profile = Profile.objects.get(phone=phone)
user = User.objects.get(profile__id=profile.id)
login(request,user)
messages.success(request, 'Hi ghashangam ')
return redirect('home')
else:
messages.error(request, 'wrong code')
return redirect('accounts:login')
else:
form = CodeForm()
return render(request,'code.html',{'form':form})
#setting
GHASEDAK_API = "d5a1713f0c361f4132985f0a09936363e2df68e0410d803eec1a49ea364bfa27"
سلام وقتتنون بخیر من میخوام سرویس otp رو فعال کنم کد رو میشه ببینین برای من ارسال نمی شه پیام.
#views in django #set the phone log in def phone(request): if request.method == 'POST': form = PhoneForm(request.POST) if form.is_valid(): global random_code , phone data = form.cleaned_data phone = f"0{data['phone']}" random_code = randint(1000,10000) SMS.verification({'receptor': '09213281036', 'type': '1', 'template': 'otp1','param1': 'random_code'}) return redirect('accounts:verify') else: form = PhoneForm() return render(request,'phone.html',{'form':form}) #verify code : def verify(request): if request.method == 'POST': form = CodeForm(request.POST) if form.is_valid(): if random_code == form.cleaned_data['code']: profile = Profile.objects.get(phone=phone) user = User.objects.get(profile__id=profile.id) login(request,user) messages.success(request, 'Hi ghashangam ') return redirect('home') else: messages.error(request, 'wrong code') return redirect('accounts:login') else: form = CodeForm() return render(request,'code.html',{'form':form}) #setting GHASEDAK_API = "d5a1713f0c361f4132985f0a09936363e2df68e0410d803eec1a49ea364bfa27"
ممنون میشم اگه راهنماییم کنید
لطفا موقع طرح سوال یا اشکال کلید api خودتون رو پاک کنید. براحتی قابل سوء استفاده خواهد بود