• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

TiaPortal - zapytania json z hasłem

0 głosów
347 wizyt
pytanie zadane 4 listopada 2024 w Inne języki przez tubylec01 Obywatel (1,610 p.)

Hej,
Mam problem z zapytaniem json: '{"code": 10,"cid": 1,"adr": "/deviceinfo/getdata","auth": {"user": "YWRtaW4=","passwd": "cGFzc3dvcmQ="}}'

Mianowicie zapytanie wysyłane przez python, czy inne narzędzia odpowiada poprawnie, potrzebuję natomiast wysłać zapytanie ze sterownika Siemens. Używam dostępnej funkcji LHTTP_PostPut, która działa mi przy zapytaniach bez autoryzacji, natomiast zapytania z hasłem i loginem mi nie odpowiadają (odpowiadają ale tak jak ma to miejsce przy niezalogowaniu). Czy ktoś ma doświadczenie z tą biblioteką i mógłby mi pomóc, potrzebuję wiedzieć jak dokładnie i gdzie podać hasło i login?

Znalazłem takie informacje ale nie przynosi mi to efektu pożądanego:

 

Tutaj funkcja:

Jeśli potrzeba dodatkowych informacji to proszę pytać, z góry dziękuję :)
 

komentarz 4 listopada 2024 przez Velta Maniak (52,910 p.)

O ile dobrze rozumiem, powinno się poniższy nagłówek:

Authorization: Basic WVdSdGFXND06Y0dGemMzZHZjbVE9

Przekształcić na stosowny format znaków w parametrze userFields:

Data type Start value
Char A
Char u
Char t
Char h
Char o
Char r
Char i
Char z
Char a
Char t
Char i
Char o
Char n
Char :
Char  
Char B
Char a
Char s
Char i
Char c
Char  
Char W
Char V
Char d
Char S
Char d
Char G
Char F
Char X
Char N
Char D
Char 0
Char 6
Char Y
Char 0
Char d
Char G
Char e
Char m
Char M
Char z
Char Z
Char H
Char Z
Char j
Char b
Char V
Char E
Char 9

(i chyba jeszcze dodatkowy wiersz – $00 ?)

Wartość poświadczeń w nagłówku HTTP Basic Auth łączy ze sobą nazwę użytkownika i hasło dwukropkiem (login:hasło), a następnie koduje w base64.

Jeżeli potrzebne jest stworzyć więcej takich poświadczeń, może warto sobie napisać jakiś dedykowany temu skrypt, np. z poniższą funkcją:

def create_basic_auth_value(username: str, password: str) -> str:
    credentials_value = base64.b64encode(f"{username}:{password}".encode("utf-8")).decode("ascii")
    return f"Basic {credentials_value}"

 

komentarz 4 listopada 2024 przez tubylec01 Obywatel (1,610 p.)
Próbowałem i właśnie nie działa, jak podaje "tutaj" dane do logowania to z zapytania powinienem już usunąć?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,414 wizyt
pytanie zadane 3 grudnia 2020 w PHP przez kvbbs Nowicjusz (150 p.)
+1 głos
1 odpowiedź 480 wizyt
pytanie zadane 22 kwietnia 2022 w Inne języki przez Giacomo Nowicjusz (200 p.)
0 głosów
1 odpowiedź 3,139 wizyt
pytanie zadane 18 października 2019 w Inne języki przez lukasz290521 Obywatel (1,410 p.)

93,754 zapytań

142,715 odpowiedzi

323,360 komentarzy

63,348 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...