ghasedak-python icon indicating copy to clipboard operation
ghasedak-python copied to clipboard

مشکل در ورژن 3.8 پایتون با سامانه قاصدک

Open hamedfazli opened this issue 3 years ago • 4 comments

کد های موجود در این گیت روی جنگو نصب شد اما کار نکرد و ارور زیر مشاهده شد.

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`

hamedfazli avatar Oct 28 '21 08:10 hamedfazli

دامنه io دیگه در دسترس نیست دلیل اون خطایی که دیدید همینه. کافیه .io رو به .me تغییر بدید و مشکل برطرف خواهد شد. پ.ن. مدت هاست که pull request & issue دادم این مشکل رو ولی انگار کسی بررسی نکرده!

hamidrajabi avatar Nov 19 '21 21:11 hamidrajabi

سلام وقتتنون بخیر من میخوام سرویس 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"

AsarehSKP avatar Aug 26 '23 17:08 AsarehSKP

سلام وقتتنون بخیر من میخوام سرویس 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"

ممنون میشم اگه راهنماییم کنید

AsarehSKP avatar Aug 26 '23 17:08 AsarehSKP

لطفا موقع طرح سوال یا اشکال کلید api خودتون رو پاک کنید. براحتی قابل سوء استفاده خواهد بود

alizadearash avatar May 15 '24 20:05 alizadearash