Open telvideo opened 10 months ago
این خطا برای اینه که کتابخونه نصب نشده اگر نصب کردین و باز این خطا رو میده توی قسمت File->settings->python Interpreter ن دنبال کتابخونه مورد نظر بگردین اگر بود حذف کنید و مجددنصب کنید یک نکته هم هست اینه که اگر از کتابخونه های مختلف رمزنگاری توی پایتون استفاده میکنید بعضی از این کتابخونه ها در یک دایرکتوری ذخیره میشن و ممکنه تداخل در هم داشته باشن
سلام . ممنون . با دستور زیر مشکل حل شد
pip install pycryptodomex
اما مجدد خطای زیر میده
from normal_json import normalizer_jason
ModuleNotFoundError: No module named 'normal_json'
که فایل normal_json.py وجود ندارد
normal_json.py این فایل رو import کنید و اگه این کار رو کردین ممکنه نام فایل تکراری باشه یعنی از یک فایل دوتا به صورت یکسان داشته باشید
سلام کد رو به شکل زیر ایمپورت کردم
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
مشکل از کد نیست سرور بهت نتونسته توکن بده، در تایم های مختلف روز تست کنید
سلام . من با سرور واقعی هم تست کردم . مشکل از / انتهای لینک بود که اصلاح کردم . اما باز هم توکن نمیده . 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
فایل python get_token.py رو به چه صورت میخونه؟ باید به شکل string بخونه بدون -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----
فایل python get_token.py رو به چه صورت میخونه؟ باید به شکل string بخونه بدون -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----
دقیقا به همین شکل میخونه
ولی طبق مثالی که شمازدین آخر A2EFK8#########GET_TOKEN#1700049345418#false###1700049345418#null زده null
خطای زیر میده
Error: {"timestamp":1700665815712,"requestTraceId":"e16aea0ce0bb2881fd76de7bd861ca76","errors":[{"code":"4011","message":"امضای بستهی ارسال شده صحیح نمیباشد."}]} Tocken: None
خطای زیر میده
Error: {"timestamp":1700665815712,"requestTraceId":"e16aea0ce0bb2881fd76de7bd861ca76","errors":[{"code":"4011","message":"امضای بستهی ارسال شده صحیح نمیباشد."}]} Tocken: None
من هم مشکل مشابه دارم. با تمام کتابخانه ها و زبان ها هم تست کردم. لطفا اگر کسی حل کرده این مورد رو اطلاع بده
منم همین خطا رو داشتم مشکل من ادغام دوتا جیسون بود همچنین مرتب سازی بر حسب الفبا انجام بدید مشکل من حل شد با این دوتا تغییر
فایل 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 باشه این رشته رو خود شما داری تولید میکنی ترتیب این خیلی مهمه برای امضا
سلام . خسته نباشید موقع اجرای get_token.py با خطای زیر مواجه میشم . لطفا راهنمایی بفرمایید . با تشکر
Traceback (most recent call last): from Cryptodome.Signature import pkcs1_15 ModuleNotFoundError: No module named 'Cryptodome'
ناگفته نماند که با دستور زیر نصب کرده ام
pip install pycryptodome