התקנת תעודה בפייתון - ספריית requests: הבדלים בין גרסאות בדף

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
מ (הוספת הבהרה שזה תקף לכל מה שתלוי בספריית certifi)
שורה 6: שורה 6:
 
ספריית [https://pypi.org/project/requests/ requests] משתמשת בשירותי ספריית [https://pypi.org/project/certifi/ certifi] עבור אימות תעודות אבטחה. הוראות אלו תקפות עבור כל ספרייה שמשתמשת בספריית certifi (רשימה חלקית [https://libraries.io/pypi/certifi/dependents כאן]).
 
ספריית [https://pypi.org/project/requests/ requests] משתמשת בשירותי ספריית [https://pypi.org/project/certifi/ certifi] עבור אימות תעודות אבטחה. הוראות אלו תקפות עבור כל ספרייה שמשתמשת בספריית certifi (רשימה חלקית [https://libraries.io/pypi/certifi/dependents כאן]).
  
*הורד תעודת נטפרי מ[http://netfree.link/netfree-ca.crt כאן]
 
*שמור אותו במקום כלשהו במערכת הקבצים
 
*רשום לעצמך את נתיב הקובץ (לשם דוגמה, נקרא לנתיב <code>‎/path/to/netfree.crt</code>)
 
  
===שיטה א===
+
===אפשרות מומלצת===
פקודה זו נותנת את הנתיב של קובץ התעודות:
+
במערכות windows, לאחר התקנת תוכנית ההתקנה של תעודת האבטחה יש להריץ בשורת הפקודה בהרשאות ניהול את הפקודה הבאה:
python -c 'import requests; print(requests.certs.where());'
 
העתק לסוף הקובץ את התוכן של תעודת נטפרי
 
  
===שיטה ב===
+
setx REQUESTS_CA_BUNDLE '''%ProgramData%\NetFree\CA\netfree-ca-bundle-curl.crt''' -m
בתוך התוכנה שלך אחרי שאתה עושה <code>import requests</code> הוסף את השורות הבאות (החלף <code>‎/path/to/netfree.crt</code> בנתיב האמיתי):
+
 
 +
ב- linux, אם התקנתם את התעודה לפי ההוראות [[התקנת תעודה במערכת ההפעלה Ubuntu|כאן]], תוכלו להריץ פקודה זו:
 +
 
 +
export REQUESTS_CA_BUNDLE='''/usr/lib/ssl/certs/ca-certificates.crt'''
 +
 
 +
 
 +
===אפשרות נוספת===
 +
 
 +
*הורידו את תעודת ספק נטפרי הנוכחי מ[http://netfree.link/netfree-ca.crt כאן].
 +
*שמרו את הקובץ במקום כלשהו במחשב.
 +
*רשמו את נתיב הקובץ המלא (לשם הדגמה, נקרא לנתיב <code>‎/path/to/netfree.crt</code>).
 +
 
 +
=====שיטה א=====
 +
פקודה זו תדפיס את נתיב '''קובץ התעודות''' שבו מתבצע שימוש בחבילת requests:
 +
python -c "import requests; print(requests.certs.where());"
 +
העתיקו לסוף הקובץ את התוכן של תעודת נטפרי באמצעות פקודה זו (לשם ההמחשה ,ההנחה היא ש <code>‎/path/to/bunele.pem</code> הוא נתיב קובץ התעודות):
 +
 
 +
win:
 +
type C:\path\to\netfree.pem>>C:\path\to\bundle.pem
 +
linux:
 +
cat /path/to/netfree.crt >> /path/to/bundle.pem
 +
או ידנית באמצעות עורך טקסט (מומלץ לשמור עותק של הקובץ המקורי).
 +
 
 +
 
 +
=====שיטה ב=====
 +
בתוך קוד הpython שאתם כותבים, לאחר ייבוא המודול באמצעות <code>import requests</code>, הוסיפו את השורות הבאות (החליפו את <code>‎/path/to/netfree.crt</code> בנתיב שבו תשמרו את הקובץ באופן קבוע):
 
  def my_where():
 
  def my_where():
 
     return '/path/to/netfree.crt'
 
     return '/path/to/netfree.crt'
 
  requests.certs.where = my_where
 
  requests.certs.where = my_where
 +
 +
 +
==קישורים חיצוניים==
 +
[https://stackoverflow.com/questions/10667960 אפשרויות נוספות ודיון, באתר stackoverflow.com]

גרסה מ־17:15, 22 במרץ 2020

For English click here

למעבר מתצוגת עריכה לתצוגת קריאה

עמוד ראשי > תעודת האבטחה > התקנת תעודה בפייתון - ספריית requests ‎‎


ספריית requests משתמשת בשירותי ספריית certifi עבור אימות תעודות אבטחה. הוראות אלו תקפות עבור כל ספרייה שמשתמשת בספריית certifi (רשימה חלקית כאן).


אפשרות מומלצת

במערכות windows, לאחר התקנת תוכנית ההתקנה של תעודת האבטחה יש להריץ בשורת הפקודה בהרשאות ניהול את הפקודה הבאה:

setx REQUESTS_CA_BUNDLE %ProgramData%\NetFree\CA\netfree-ca-bundle-curl.crt -m

ב- linux, אם התקנתם את התעודה לפי ההוראות כאן, תוכלו להריץ פקודה זו:

export REQUESTS_CA_BUNDLE=/usr/lib/ssl/certs/ca-certificates.crt


אפשרות נוספת

  • הורידו את תעודת ספק נטפרי הנוכחי מכאן.
  • שמרו את הקובץ במקום כלשהו במחשב.
  • רשמו את נתיב הקובץ המלא (לשם הדגמה, נקרא לנתיב ‎/path/to/netfree.crt).
שיטה א

פקודה זו תדפיס את נתיב קובץ התעודות שבו מתבצע שימוש בחבילת requests:

python -c "import requests; print(requests.certs.where());"

העתיקו לסוף הקובץ את התוכן של תעודת נטפרי באמצעות פקודה זו (לשם ההמחשה ,ההנחה היא ש ‎/path/to/bunele.pem הוא נתיב קובץ התעודות):

win:

type C:\path\to\netfree.pem>>C:\path\to\bundle.pem 

linux:

cat /path/to/netfree.crt >> /path/to/bundle.pem

או ידנית באמצעות עורך טקסט (מומלץ לשמור עותק של הקובץ המקורי).


שיטה ב

בתוך קוד הpython שאתם כותבים, לאחר ייבוא המודול באמצעות import requests, הוסיפו את השורות הבאות (החליפו את ‎/path/to/netfree.crt בנתיב שבו תשמרו את הקובץ באופן קבוע):

def my_where():
    return '/path/to/netfree.crt'
requests.certs.where = my_where


קישורים חיצוניים

אפשרויות נוספות ודיון, באתר stackoverflow.com