mohammadreza1408 / pos_pyhon

پروژه پایانه فروشگاهی و اتصال به سامانه مودیان از طریق وب سرویس با زبان پایتون
0 stars 1 forks source link

No module named 'Cryptodome' #5

Open telvideo opened 10 months ago

telvideo commented 10 months ago

سلام . خسته نباشید موقع اجرای get_token.py با خطای زیر مواجه میشم . لطفا راهنمایی بفرمایید . با تشکر

Traceback (most recent call last): from Cryptodome.Signature import pkcs1_15 ModuleNotFoundError: No module named 'Cryptodome'

ناگفته نماند که با دستور زیر نصب کرده ام

pip install pycryptodome

mohammadreza1408 commented 10 months ago

این خطا برای اینه که کتابخونه نصب نشده اگر نصب کردین و باز این خطا رو میده توی قسمت File->settings->python Interpreter ن دنبال کتابخونه مورد نظر بگردین اگر بود حذف کنید و مجددنصب کنید یک نکته هم هست اینه که اگر از کتابخونه های مختلف رمزنگاری توی پایتون استفاده میکنید بعضی از این کتابخونه ها در یک دایرکتوری ذخیره میشن و ممکنه تداخل در هم داشته باشن

telvideo commented 10 months ago

سلام . ممنون . با دستور زیر مشکل حل شد

pip install pycryptodomex

اما مجدد خطای زیر میده

from normal_json import normalizer_jason

ModuleNotFoundError: No module named 'normal_json'

که فایل normal_json.py وجود ندارد

mohammadreza1408 commented 9 months ago

normal_json.py این فایل رو import کنید و اگه این کار رو کردین ممکنه نام فایل تکراری باشه یعنی از یک فایل دوتا به صورت یکسان داشته باشید

telvideo commented 9 months ago

سلام کد رو به شکل زیر ایمپورت کردم

from normalizer_invoice import normalizer

اما موقع اجرا خطای زیر میده

C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py:1100: InsecureRequestWarning: Unverified HTTPS request is being made to host 'sandboxrc.tax.gov.ir'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( <Response [401]> responce== Traceback (most recent call last): File "C:\Users\user\pos_pyhon\get_token.py", line 69, in <module> x= get_tocken() ^^^^^^^^^^^^ File "C:\Users\user\pos_pyhon\get_token.py", line 65, in get_tocken return json.loads(r.text)['result']['data']['token'] , json.loads(r.text)['timestamp'] ^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) فکر میکنم خطا مربوط به این باشه اطلاعاتی از سرور دریافت نشده . بنابرایم فایل get_token.py رو به شکل زیر تغییر دادم

` r= requests.post(url, data= json.dumps(paket_for_send), headers = headers ,verify=False)

if r.status_code == 200: print("Success!") print(r) print("responce==", r.text) return json.loads(r.text)['result']['data']['token'] , json.loads(r.text)['timestamp'] else: print(f"Error: {r.status_code}") ` پیغامی که چاپ شد این بود

Error: 401 Tocken: None

mohammadreza1408 commented 9 months ago

مشکل از کد نیست سرور بهت نتونسته توکن بده، در تایم های مختلف روز تست کنید

telvideo commented 9 months ago

سلام . من با سرور واقعی هم تست کردم . مشکل از / انتهای لینک بود که اصلاح کردم . اما باز هم توکن نمیده . https://sandboxrc.tax.gov.ir/req/api/self-tsp/sync/GET_TOKEN/ رو تغییر دادم به https://sandboxrc.tax.gov.ir/req/api/self-tsp/sync/GET_TOKEN

من با نرم افزار سپیدار کلید عمومی و کلید خصوصی رو ایجاد کردم . کلید عمومی رو توی کارپوشه آپلود کردم و شناسه یکتا گرفتم . کلید خصوصی هم گذاشتم کنار برنامه و اسمش رو اصلاح کردم . بعد python get_token.py رو اجرا کردم . برام این چاپ میشه

A2EFK8#########GET_TOKEN#1700049345418#false###1700049345418#null C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py:1100: InsecureRequestWarning: Unverified HTTPS request is being made to host 'sandboxrc.tax.gov.ir'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( Error: 401 Tocken: None

mohammadreza1408 commented 9 months ago

فایل python get_token.py رو به چه صورت میخونه؟ باید به شکل string بخونه بدون -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----

telvideo commented 9 months ago

فایل python get_token.py رو به چه صورت میخونه؟ باید به شکل string بخونه بدون -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----

دقیقا به همین شکل میخونه

ولی طبق مثالی که شمازدین آخر A2EFK8#########GET_TOKEN#1700049345418#false###1700049345418#null زده null

telvideo commented 9 months ago

خطای زیر میده

Error: {"timestamp":1700665815712,"requestTraceId":"e16aea0ce0bb2881fd76de7bd861ca76","errors":[{"code":"4011","message":"امضای بسته‌ی ارسال شده صحیح نمی‌باشد."}]} Tocken: None

mohammad-mahdi-hodayan commented 7 months ago

خطای زیر میده

Error: {"timestamp":1700665815712,"requestTraceId":"e16aea0ce0bb2881fd76de7bd861ca76","errors":[{"code":"4011","message":"امضای بسته‌ی ارسال شده صحیح نمی‌باشد."}]} Tocken: None

من هم مشکل مشابه دارم. با تمام کتابخانه ها و زبان ها هم تست کردم. لطفا اگر کسی حل کرده این مورد رو اطلاع بده

behnamtr364 commented 5 months ago

منم همین خطا رو داشتم مشکل من ادغام دوتا جیسون بود همچنین مرتب سازی بر حسب الفبا انجام بدید مشکل من حل شد با این دوتا تغییر

mohammadreza1408 commented 1 month ago

فایل python get_token.py رو به چه صورت میخونه؟ باید به شکل string بخونه بدون -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----

دقیقا به همین شکل میخونه

ولی طبق مثالی که شمازدین آخر A2EFK8#########GET_TOKEN#1700049345418#false###1700049345418#null زده null

ببینید رشته دقیقا این باشد باشه AXXXXX#########GET_TOKEN#1674479599676#false###1674479599676## اخرش نباید null باشه این رشته رو خود شما داری تولید میکنی ترتیب این خیلی مهمه برای امضا